我分析完全內存轉儲和我申請WinDBG的uf
命令,看看有什麼功能呢WinDBG的反彙編地址解析
0: kd> uf profsvc!CUserProfileService::_RegisterGPNotification
這是輸出的一部分。我不知道爲什麼在括號中的地址比的profsvc!CUserProfileService::_RegisterGPNotification+0x44
地址不同應該是
000007fe fb149276
但
000007fe fb155019
。
當我試着使用u
以未組裝的地址000007fe fb155019
它指向
profsvc!CUserProfileService::_RegisterGPNotification+0x44:
我真的很困惑,任何幫助深表感謝。從WinDBG的
….
profsvc!CUserProfileService::_RegisterGPNotification+0x2e:
000007fe`fb14925e ba01000000 mov edx,1
000007fe`fb149263 488bc8 mov rcx,rax
000007fe`fb149266 ff157c410200 call qword ptr [profsvc!_imp_RegisterGPNotification (000007fe`fb16d3e8)]
000007fe`fb14926c 85c0 test eax,eax
000007fe`fb14926e 0f84a5bd0000 je profsvc!CUserProfileService::_RegisterGPNotification+0x44 (**000007fe`fb155019**)
profsvc!CUserProfileService::_RegisterGPNotification+0x40:
000007fe`fb149274 33db xor ebx,ebx
000007fe`fb149276 eb00 jmp profsvc!CUserProfileService::_RegisterGPNotification+0x66 (000007fe`fb149278) Branch
profsvc!CUserProfileService::_RegisterGPNotification+0x66:
000007fe`fb149278 488b0d31b00200 mov rcx,qword ptr [profsvc!WPP_GLOBAL_Control (000007fe`fb1742b0)]
000007fe`fb14927f 488d052ab00200 lea rax,[profsvc!WPP_GLOBAL_Control (000007fe`fb1742b0)]
000007fe`fb149286 483bc8 cmp rcx,rax
000007fe`fb149289 740a je profsvc!CUserProfileService::_RegisterGPNotification+0x94 (000007fe`fb149295) Branch
0: kd> u 000007fe`fb155019
profsvc!CUserProfileService::_RegisterGPNotification+0x44:
000007fe`fb155019 ?? ???
^Memory access error in 'u 000007fe`fb155019'
有可能是一個有效的問題在這裏的某個地方,但這是不可讀。 *我想知道爲什麼括號中的地址*您的括號是什麼意思? –
我的意思是指令je profsvc!CUserProfileService :: _ RegisterGPNotification + 0x44(** 000007fe'fb155019 **)下面的括號。通常je跳到profsvc!CUserProfileService :: _ RegisterGPNotification + 0x44這不是地址000007fe'fb155019爲什麼地址不同於跳轉地址?謝謝您的幫助。 –
在優化函數可以分解爲塊並且pdb沒有反映優化地址(windbg通常可以解決它,即使它們不是線性的)後,優化的反彙編與線性符號中顯示的偏移量不匹配。 ea和$ ea2僞寄存器將始終是安全的 – blabb