Debugging 分析调用堆栈

Debugging 分析调用堆栈,debugging,callstack,crash-dumps,Debugging,Callstack,Crash Dumps,当发生异常时,我将获取调用堆栈 if(!GetModuleFileNameA((HMODULE) hMod, szModule, len)) { return FALSE; } szModule是 RtlTryEnterCriticalSection+0x0000000000000052 RtlTimeFieldsToTime+0x00000000000002E0 free+0x000000000000001C ... 函数名旁边的十六进制数是什么意思 什么问题会导致这样的调用堆栈

当发生异常时,我将获取调用堆栈

if(!GetModuleFileNameA((HMODULE) hMod, szModule, len))
{
    return FALSE;
}
szModule是

RtlTryEnterCriticalSection+0x0000000000000052
RtlTimeFieldsToTime+0x00000000000002E0
free+0x000000000000001C
...
  • 函数名旁边的十六进制数是什么意思

  • 什么问题会导致这样的调用堆栈


  • 该数字通常表示与函数开头地址的偏移量(以字节为单位)。您必须引用函数的反汇编来查找所讨论的实际指令。我建议使用调试器,而不是尝试在程序中进行自己的异常分析。关于这个问题,使用异常代码比调用堆栈更重要。异常代码说明了它崩溃的原因。呼叫堆栈显示了它崩溃的地方。
    0x0000000000000052 
    0x00000000000002E0
    0x000000000000001C