堆栈跟踪中行末尾的“+”后面的数字代表什么?
Function Source
ntdll!KiFastSystemCallRet
ntdll!ZwRemoveIoCompletion+c
kernel32!GetQueuedCompletionStatus+29
w3tp!THREAD_POOL_DATA::ThreadPoolThread+33
w3tp!THREAD_POOL_DATA::ThreadPoolThread+24
w3tp!THREAD_MANAGER::ThreadManagerThread+39
kernel32!BaseThreadStart+34
他们在这里
+ C
+29
+33
+24
+39 +34
答案 0 :(得分:3)
功能内部偏移。例如。在第3帧上,返回地址是:kernel32的地址!GetQueuedCompletionStatus符号+29个字节。
答案 1 :(得分:3)
它们是从命名子例程的开头以十六进制的偏移量。例如
kernel32!BaseThreadStart+34
是内核32模块中的例程BaseThreadStart中的52(34个十六进制)字节。