代码之家  ›  专栏  ›  技术社区  ›  Axl

堆栈溢出和进程关闭后的windbg线程ID

  •  2
  • Axl  · 技术社区  · 15 年前

    使用adplus(在崩溃转储模式下)生成.dmp文件。最后一个未处理的异常序列(产生完整内存转储文件)是…

    第一次机会dll卸载:包含线程id,但不包含stackoverflowexception(我不希望它包含,因为此时尚未引发异常)。

    第一次机会stackoverflow:包含线程id,但不包含stackoverflowexception。

    第一次机会进程关闭(shut down):包含stackoverflowexception,但不包含线程id。

    ????

    有没有办法,通过配置adplus或在windbg中运行命令,来捕获异常并访问线程id?

    针对magnus,如果线程id不可用,是否有一些有用的信息?跑步!threads返回一些信息,但是如果没有线程id和异常,似乎就没有其他地方可以从那里访问。跑步!CLRSTACK似乎比运行更有用!线程,在这种情况下。

    3 回复  |  直到 15 年前
        1
  •  0
  •   Community dbr    7 年前

    下面的帖子有更多关于捕获StAccOffFuffExchange异常的信息,但是它从来没有完全解决。

    Help catching StackOverflowException with WinDbg and ADPlus

        2
  •  0
  •   ralphtheninja    15 年前

    你试过 !线 在对转储文件进行事后调试期间windbg中的命令?

        3
  •  0
  •   Tal    15 年前

    打开第二个转储并输入命令 EXXR [进入]
    现在 DDS静电除尘器 [进入]
    要继续查看调用堆栈,只需写入 DDS [进入]
    [输入]…[输入]……

    你可能会发现这个线程是在调用未加载的DLL的中间。