栈溢出call命令无法执行
WinDbg
栈溢出call命令无法执行
染梦
2021-07-02, 13:35 下午
张老师,您好,想问题下面这种情况怎么处理
在使用unity过程中mono代码发生死循环,栈溢出了,unity直接崩溃。
所以想使用类似这样指令
.call mono_2_0_bdwgc!mono_pmip(0x000001fcabf1819b)
看一下执行的mono代码是什么
但是输入命令,执行g之后,紧接着又会触发异常
0:000> ~. g
System 0: 129 of 130 threads are frozen
(1e20.e148): Access violation - code c0000005 (first chance)
System 0: 129 of 130 threads were frozen
First chance exceptions are reported before any exception handling.
栈如下
<img src="https://z3.ax1x.com/2021/07/02/R6nkUH.png" border="0" />
后续继续执行g都是同一样的栈,重新执行call会出现正在执行的提示
0:000> .call mono_2_0_bdwgc!mono_pmip(0x000001fcabf1819b)
^ Thread already has call in progress error in '.call mono_2_0_bdwgc!mono_pmip(0x000001fcabf1819b)'
想问下这种怎么用windbg怎么能看到死循环的mono函数是什么呢?尝试用vs的话用这样的命令可以正常输出,不知道windbg怎么看了
? {,,mono-2.0-bdwgc.dll}mono_pmip((void*)0x000001fcabf1819b)