Как решить эту ошибку, которая отображается на Windbg? - PullRequest
4 голосов
/ 25 мая 2010

Я загрузил .exe, и он выдал эту ошибку:

Microsoft (R) Windows Debugger Version 6.12.0002.633 X86
Copyright (c) Microsoft Corporation. All rights reserved.

CommandLine: "C:\Users\Public\SoundLog\Code\Código Python\SoundLog\dist\SoundLog.exe"
Symbol search path is: *** Invalid ***
****************************************************************************
* Symbol loading may be unreliable without a symbol search path.           *
* Use .symfix to have the debugger choose a symbol path.                   *
* After setting your symbol path, use .reload to refresh symbol locations. *
****************************************************************************
Executable search path is: 
ModLoad: 00400000 0061c000   image00400000
ModLoad: 771a0000 772dc000   ntdll.dll
ModLoad: 76e10000 76ee4000   C:\Windows\system32\kernel32.dll
ModLoad: 75460000 754aa000   C:\Windows\system32\KERNELBASE.dll
ModLoad: 76550000 76619000   C:\Windows\system32\USER32.dll
ModLoad: 76b30000 76b7e000   C:\Windows\system32\GDI32.dll
ModLoad: 77310000 7731a000   C:\Windows\system32\LPK.dll
ModLoad: 76ef0000 76f8d000   C:\Windows\system32\USP10.dll
ModLoad: 75650000 756fc000   C:\Windows\system32\msvcrt.dll
ModLoad: 65ee0000 65f83000   C:\Windows\WinSxS\x86_microsoft.vc90.crt_1fc8b3b9a1e18e3b_9.0.30729.4926_none_508ed732bcbc0e5a\MSVCR90.dll
(c8.704): Break instruction exception - code 80000003 (first chance)
eax=00000000 ebx=00000000 ecx=0012fb0c edx=771e64f4 esi=fffffffe edi=00000000
eip=7723e60e esp=0012fb28 ebp=0012fb54 iopl=0         nv up ei pl zr na pe nc
cs=001b  ss=0023  ds=0023  es=0023  fs=003b  gs=0000             efl=00000246
*** ERROR: Symbol file could not be found.  Defaulted to export symbols for ntdll.dll - 
ntdll!LdrVerifyImageMatchesChecksum+0x633:
7723e60e cc              int     3
0:000> g

Затем я нажал F5 и во время выполнения программы выдал мне эту ошибку (вот что мне нужно решить):

ModLoad: 6f980000 6ff11000   C:\Windows\Microsoft.NET\Framework\v2.0.50727\mscorwks.dll
ModLoad: 6f8e0000 6f97b000   C:\Windows\WinSxS\x86_microsoft.vc80.crt_1fc8b3b9a1e18e3b_8.0.50727.4927_none_d08a205e442db5b5\MSVCR80.dll
ModLoad: 752f0000 752fb000   C:\Windows\system32\profapi.dll
ModLoad: 6e670000 6f168000   C:\Windows\assembly\NativeImages_v2.0.50727_32\mscorlib\8c1770d45c63cf5c462eeb945ef9aa5d\mscorlib.ni.dll
ModLoad: 03d90000 03dac000   SoundLogC++WrapperDLL.dll
ModLoad: 03db0000 03dcc000   SoundLogC++WrapperDLL.dll
ModLoad: 6afa0000 6affb000   C:\Windows\Microsoft.NET\Framework\v2.0.50727\mscorjit.dll
ModLoad: 04dd0000 04e13000   msvcm90.dll
ModLoad: 04e20000 04e63000   msvcm90.dll
ModLoad: 76aa0000 76b23000   C:\Windows\system32\CLBCatQ.DLL
ModLoad: 75280000 752df000   C:\Windows\system32\sxs.dll
ModLoad: 60340000 60348000   C:\Windows\Microsoft.NET\Framework\v2.0.50727\culture.dll
(b78.9c8): C++ EH exception - code e06d7363 (first chance)
(b78.9c8): C++ EH exception - code e06d7363 (first chance)
(b78.9c8): C++ EH exception - code e06d7363 (first chance)
(b78.9c8): C++ EH exception - code e06d7363 (first chance)
(b78.9c8): C++ EH exception - code e06d7363 (first chance)
(b78.9c8): CLR exception - code e0434f4d (first chance)
(b78.9c8): CLR exception - code e0434f4d (first chance)
(b78.9c8): C++ EH exception - code e06d7363 (first chance)
(b78.9c8): C++ EH exception - code e06d7363 (first chance)
(b78.9c8): CLR exception - code e0434f4d (!!! second chance !!!)
eax=0012e2a4 ebx=e0434f4d ecx=00000001 edx=00000000 esi=0012e32c edi=002bada0
eip=75469617 esp=0012e2a4 ebp=0012e2f4 iopl=0         nv up ei pl nz ac po nc
cs=001b  ss=0023  ds=0023  es=0023  fs=003b  gs=0000             efl=00000212
*** ERROR: Symbol file could not be found.  Defaulted to export symbols for C:\Windows\system32\KERNELBASE.dll - 
KERNELBASE!RaiseException+0x54:
75469617 c9              leave

Может кто-нибудь сказать мне, что это и как я могу это решить?

Ответы [ 3 ]

8 голосов
/ 25 мая 2010

Ваша первая проблема заключается в том, что у вас не установлен путь к символам. Вы можете запустить «.symfix», как предлагается в сообщении, чтобы автоматически выбирать путь символа, используя общедоступный сервер символов Microsoft. Второе - необработанное исключение. Сначала нужно получить правильные символы, а затем выполнить «k», чтобы получить трассировку стека, которая должна дать вам более полное представление о происходящем.

4 голосов
/ 25 мая 2010

Вам необходимо указать путь к символам отладки. Это можно сделать с помощью команды .sympath.

.sympath c:\debugsymbols;srv*c:\debugmsft*http://msdl.microsoft.com/download/symbols

Дополнительная информация на Используйте Microsoft Symbol Server для получения файлов символов отладки

0 голосов
/ 25 мая 2010

Первое сообщение об ошибке говорит вам, что ваш путь к символу установлен неправильно. Вторая ошибка - необработанное исключение, но поскольку ваши символы не загружены, трудно сказать, что происходит.

Если у вас есть доступ в Интернет во время отладки, вы можете использовать команду .symfix, чтобы указать путь к символу, указывающий на сервер символов Microsoft. Это даст вам публичные символы для Microsoft DLL. Обязательно сделайте это перед началом отладки.

...