我在QT 4.8.1和QT库4.8.6下使用Visual Studio 2008。 对于调试,我使用Visual Studios 2008附带的Microsoft工具CDB。
在发行版(ctrl + R)中运行程序时,一切都很好。 当我尝试进行午餐调试(F5)时,程序将停止,然后以汇编代码开始调试。
0x77cc0f6f <+ 3866> jne ntdll!LdrVerifyImageMatchesChecksum+0xf33 (77cc0f88)
0x77cc0f71 <+ 3868> mov dword ptr [ebp-4],ebx
0x77cc0f74 <+ 3871> int 3
0x77cc0f75 <+ 3872> mov dword ptr [ebp-4],esi <<<(Stops here)
0x77cc0f78 <+ 3875> jmp ntdll!LdrVerifyImageMatchesChecksum+0xf33 (77cc0f88)
0x77cc0f7a <+ 3877> xor eax,eax
0x77cc0f7c <+ 3879> inc eax
0x77cc0f7d <+ 3880> ret
0x77cc0f7e <+ 3881> mov esp,dword ptr [ebp-18h]
0x77cc0f81 <+ 3884> mov dword ptr [ebp-4],0FFFFFFFEh
0x77cc0f88 <+ 3891> call ntdll!memcpy+0xbc61 (77c4dfc1)
答案 0 :(得分:0)
我只需删除所有brakpoints就可以解决问题! 调用ntdll.dll(Windows戴尔)时CDB被阻止。 Windows DLL中没有符号,这就是CDB在组装流水线中阻塞的原因。
希望对somone有用! 祝大家好运!