客戶端向我們發送了包含我們dll的彙編指令的十六進制地址的故障轉儲。我如何將它與visual studio上的C++代碼聯繫起來?調用Visual C++ DLL而不調用應用程序/ Host Exe源代碼
我們的程序打包在一個dll中,然後由遠程服務器上的主機應用程序加載。我們有我們的DLL的源代碼,但不是主機應用程序。調試dll引起的崩潰的最佳方式是什麼?
crash : #214 0001BD54 EIP: 6BAA7271 ESP: 240DF640
6BAA7271:000000 [6BAA7271] unknown (ourcompany.dll)
6BA9FA31:000000 [6BA9FA31] unknown (ourcompany.dll)
6BA994D9:000000 [6BA994D9] unknown (ourcompany.dll)
6BA9F5F2:000000 [6BA9F5F2] unknown (ourcompany.dll)
6BAADB36:000000 [6BAADB36] unknown (ourcompany.dll)
6BAADBB4:000000 [6BAADBB4] unknown (ourcompany.dll)
76EC3378:000012 [76EC338A] AcquireSRWLockExclusive
(kernel32.dll)
775D9F0F:000063 [775D9F72] RtlInsertElementGenericTableAvl
(ntdll.dll)
775D9F0F:000036 [775D9F45] RtlInsertElementGenericTableAvl
(ntdll.dll)
crash --> 6BAA7271 80780F00 cmp byte [eax+0xf], 0x0
6BAA7275 74EB jz 0x6baa7262
6BAA7277 8B8310040000 mov eax, [ebx+0x410]
6BAA727D 89BD24FDFFFF mov [ebp+0xfffffd24], edi
6BAA7283 3BF8 cmp edi, eax
6BAA7285 740E jz 0x6baa7295
6BAA7287 663B770C cmp si, [edi+0xc]
: #215 000167B0 EIP: 752178D7 ESP: 37F3FC00
7521787B:00005C [752178D7] DlgDirSelectComboBoxExW
(user32.dll)
62AD0013:000000 [62AD0013] unknown (***.dll)
76EC3378:000012 [76EC338A] AcquireSRWLockExclusive
(kernel32.dll)
775D9F0F:000063 [775D9F72] RtlInsertElementGenericTableAvl
(ntdll.dll)
775D9F0F:000036 [775D9F45] RtlInsertElementGenericTableAvl
(ntdll.dll)
您是否在生成dll時生成了映射? – rrirower 2014-11-03 23:34:52
@rrirower您的意思是一個.pdb文件嗎?是的,我們擁有它。 – gerrytan 2014-11-03 23:47:09
編號.map文件可用於協調程序地址。這是您構建時的一個選項。 – rrirower 2014-11-04 00:12:45