Windows 7上的Windows dll的断点异常 [英] Breakpoint exceptions from Windows dll's on Windows 7

查看:625
本文介绍了Windows 7上的Windows dll的断点异常的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我的游戏引擎中的Windows 7 32位崩溃我遇到了一些麻烦。它运行没有任何这样的崩溃在Windows XP 32位,这是我的开发机器。我已经编译了引擎的调试版本,这是从测试员收到的崩溃转储中产生的一些输出:

  Microsoft(R)Windows Debugger版本6.11.0001.404 X86 
版权所有(c)Microsoft Corporation。版权所有。


加载转储文件[E:\Perilous Hearts\debug\perilous_hearts.DMP]
具有完整内存的用户微型转储文件:只有应用程序数据可用

符号搜索路径是:E:\Perilous Hearts\debug
可执行搜索路径是:
Windows 7版本7600 MP(4 procs)免费x86兼容
产品:WinNt,suite:SingleUserTS
机器名称:
调试会话时间:Wed May 11 20:04:24.000 2011(GMT + 2)
系统正常运行时间:0天1:57:58.550
处理正常运行时间:0天0:01:16.000
................................. ...............................
..........
载入中卸载模块列表
.....
eax = 00000000 ebx = 0012f088 ecx = 00000000 edx = 00000000 esi = 00000011 edi = 6c350dd8
eip = 776f6344 esp = 0012f028 ebp = 0012f080 iopl = 0 nv up ei pl zr na pe cy
cs = 001b ss = 0023 ds = 0000 es = 0000 fs = 003b gs = 0000 efl = 00000247
***错误:找不到符号文件。默认为导出ntdll.dll的符号 -
ntdll!KiFastSystemCallRet:
776f6344 c3 ret
0:000> | *!analyze -v -f
************************************** *****************************************
* *
*例外分析*
* *
*********************************** ******************************************

***错误:找不到符号文件。默认为KERNELBASE.dll的导出符号 -
***错误:找不到符号文件。默认导出符号为imm32.dll -
***错误:找不到符号文件。默认为导出符号user32.dll -
***警告:无法验证perilous_hearts.exe的验证码
***错误:找不到符号文件。默认为导出符号为kernel32.dll -
*****操作系统符号是错误的。请修改符号进行分析。

****************************************** *******************************
*** ***
*** ** *
***您的调试器未使用正确的符号***
*** ***
***为了使此命令正常工作,您的符号路径** *
***必须指向具有完整类型信息的.pdb文件。 ***
*** ***
***某些.pdb文件(如公共OS符号)不要***
***包含所需的信息。联系***
***给您提供这些符号的组,如果您需要这个命令***
***工作。 ***
*** ***
***引用类型:ntdll!_PEB ***
*** ***
******* ************************************** ****************
***错误:找不到符号文件。默认为导出符号为minHook.dll -
***错误:找不到符号文件。默认为acatts.dll的导出符号 -
***错误:找不到符号文件。默认为nvdaHelperRemote.dll的导出符号 -
***错误:找不到符号文件。默认为导出IAccessible2Proxy.dll的符号 -
***警告:无法验证Hlas.dll的验证码
***错误:找不到符号文件。默认为导出Hlas.dll的符号 -
***错误:找不到符号文件。默认为导出ntvdm.exe的符号 -
***错误:找不到符号文件。默认为AcaTtsSapi5.dll的导出符号 -
***警告:无法验证gwmhook.dll的校验和
***错误:找不到符号文件。默认为gwmhook.dll的导出符号 -
***错误:找不到符号文件。默认为导出符号为HLW32.DLL -
***错误:找不到符号文件。默认导出dsound.dll的符号 -
***错误:找不到符号文件。缺省为sapi.dll导出符号 -
***错误:找不到符号文件。默认为导出符号为msdmo.dll -
***错误:找不到符号文件。默认为sfc_os.dll的导出符号 -
***错误:找不到符号文件。默认为sfc.dll导出符号 -
***错误:找不到符号文件。默认为uiautomationcore.dll的导出符号 -
***错误:找不到符号文件。缺省为dinput8.dll导出符号 -
***错误:找不到符号文件。默认为导出符号为midimap.dll -
***错误:找不到符号文件。默认导出符号为msacm32.dll -
***错误:找不到符号文件。默认为导出符号为msacm32.drv -
***错误:找不到符号文件。默认为导出符号AudioSes.dll -
***错误:找不到符号文件。默认为ksuser.dll的导出符号 -
***错误:找不到符号文件。默认为导出wdmaud.drv符号 -
***错误:找不到符号文件。默认为导出符号为winmm.dll -
***错误:找不到符号文件。默认为导出wkscli.dll的符号 -
***错误:找不到符号文件。默认为导出符号为netutils.dll -
***错误:找不到符号文件。 netapi32.dll默认导出符号 -
***错误:找不到符号文件。默认为导出winspool.drv的符号 -
***错误:找不到符号文件。默认为导出符号为oleacc.dll -
***错误:找不到符号文件。默认为导出符号为comctl32.dll -
***错误:找不到符号文件。默认导出MMDevAPI.dll的符号 -
***错误:找不到符号文件。默认导出powrprof.dll的符号 -
***错误:找不到符号文件。默认为导出wtsapi32.dll的符号 -
***错误:找不到符号文件。默认为导出hid.dll符号 -
***错误:找不到符号文件。默认为avrt.dll的导出符号 -
***错误:找不到符号文件。默认导出符号为propsys.dll -
***错误:找不到符号文件。默认为导出符号为winsta.dll -
***错误:找不到符号文件。默认为导出rsaenh.dll的符号 -
***错误:找不到符号文件。默认为cryptsp.dll的导出符号 -
***错误:找不到符号文件。默认为srvcli.dll的导出符号 -
***错误:找不到符号文件。默认为导出符号apphelp.dll -
***错误:找不到符号文件。默认为CRYPTBASE.dll的导出符号 -
***错误:找不到符号文件。默认为sxs.dll的导出符号 -
***错误:找不到符号文件。默认为导出符号RpcRtRemote.dll -
***错误:模块加载完成,但符号无法加载profapi.dll
***错误:找不到符号文件。默认为msasn1.dll的导出符号 -
***错误:找不到符号文件。默认为导出符号为wintrust.dll -
***错误:找不到符号文件。默认为导出符号devobj.dll -
***错误:找不到符号文件。默认导出cfgmgr32.dll的符号 -
***错误:找不到符号文件。缺省为crypt32.dll导出符号 -
***错误:找不到符号文件。默认为出口oleaut32.dll的符号 -
***错误:找不到符号文件。默认为导出ws2_32.dll的符号 -
***错误:找不到符号文件。默认为msvcrt.dll的导出符号 -
***错误:找不到符号文件。默认为导出符号为msctf.dll -
***错误:找不到符号文件。默认为导出shlwapi.dll的符号 -
***错误:找不到符号文件。默认为导出符号为ole32.dll -
***错误:找不到符号文件。默认为exportapi.dll的导出符号 -
***错误:找不到符号文件。默认导出符号为comdlg32.dll -
***错误:找不到符号文件。默认为gdi32.dll的导出符号 -
***错误:找不到符号文件。默认为rpcrt4.dll的导出符号 -
***错误:找不到符号文件。默认导出符号为shell32.dll -
***错误:找不到符号文件。默认为导出符号为advapi32.dll -
***错误:找不到符号文件。默认导出符号为usp10.dll -
***错误:找不到符号文件。默认为lpk.dll的导出符号 -
***错误:找不到符号文件。默认为导出符号为nsi.dll -
***错误:找不到符号文件。默认为psapi.dll的导出符号 -
***错误:找不到符号文件。默认为导出符号为clbcatq.dll -
***错误:找不到符号文件。默认为导出符号sechost.dll -
************************************* ************************************
*** ***
*** ***
***您的调试器未使用正确的符号***
*** ***
***为了使此命令正常工作,您的符号路径***
***必须指向具有完整类型信息的.pdb文件。 ***
*** ***
***某些.pdb文件(如公共OS符号)不要***
***包含所需的信息。联系***
***给您提供这些符号的组,如果您需要这个命令***
***工作。 ***
*** ***
***引用类型:IMAGE_NT_HEADERS32 ***
*** ***
********* ************************************** **************
******************************** *****************************************
*** ** *
*** ***
***你的调试器没有使用正确的符号***
*** ***
***为了这个命令正常工作,您的符号路径***
***必须指向具有完整类型信息的.pdb文件。 ***
*** ***
***某些.pdb文件(如公共OS符号)不要***
***包含所需的信息。联系***
***给您提供这些符号的组,如果您需要这个命令***
***工作。 ***
*** ***
***类型引用:kernel32!pNlsUserInfo ***
*** ***
******* ************************************** ****************
**************************** *******************************************
*** ***
*** ***
***您的调试器没有使用正确的符号***
*** ***
***按顺序为了使此命令正常工作,您的符号路径***
***必须指向具有完整类型信息的.pdb文件。 ***
*** ***
***某些.pdb文件(如公共OS符号)不要***
***包含所需的信息。联系***
***给您提供这些符号的组,如果您需要这个命令***
***工作。 ***
*** ***
***类型引用:kernel32!pNlsUserInfo ***
*** ***
******* ************************************** ****************

FAULTING_IP:
+ 26b952f019cdf74
00000000 ?? ???

EXCEPTION_RECORD:ffffffff - (.exr 0xffffffffffffffff)
异常地址:00000000
异常代码:80000003(中断指令异常)
异常值:00000000
NumberParameters: 0

FAULTING_THREAD:000007fc

DEFAULT_BUCKET_ID:WRONG_SYMBOLS

PROCESS_NAME:perilous_hearts.exe

ADDITIONAL_DEBUG_TEXT:
使用'!findthebuild'命令搜索目标构建信息。
如果构建信息可用,请运行'!findthebuild -s; .reload'设置符号路径和加载符号。

FAULTING_MODULE:776b0000 ntdll

DEBUG_FLR_IMAGE_TIMESTAMP:4a5bd98a

ERROR_CODE:(NTSTATUS)0x80000003 - {EXCEPTION}断点已达到断点。

EXCEPTION_CODE :( HRESULT)0x80000003(2147483651) - 一个或多个参数无效

PRIMARY_PROBLEM_CLASS:WRONG_SYMBOLS

BUGCHECK_STR:APPLICATION_FAULT_WRONG_SYMBOLS

LAST_CONTROL_TRANSFER:从6c3291dd到776f6344

STACK_TEXT:
警告:堆栈展开信息不可用。以下框架可能是错误的。
0012f080 6c3291dd 0266000c 6c3291dd 6c350dd8 ntdll!KiFastSystemCallRet
0012f0a0 759b1abf 00230000 6021a558 75c161dd AcXtrnal + 0x91dd
0012f0dc 75f82868 0266000c 00000102 00285360 KERNELBASE!LocalLock + 0x29
0012f0f0 75f82801 002e04eb 00000001 0012f12c imm32!ImmLockIMC + 0x76
0012f100 75f84a19 002e04eb 00000102 004eb714 imm32!ImmLockIMC + 0xf
0012f12c 75c36b11 000801e8 04050405 00000025 imm32!ImmProcessKey + 0x31
0012f154 776f627e 0012f16c 00000014 0012ff78 user32!GetLastActivePopup + 0xc5
0012f1a8 75c12fdc 004eb714 000801e8 00000000 ntdll!KiUserCallbackDispatcher + 0x2e
0012f1d4 0047f1cb 004eb714 000801e8 00000000 user32!PeekMessageA + 0x12a
0012f1f0 00480bee 0044cb6e 01c27f28 004eab68 perilous_hearts!poll_window + 0x7b [e:\c ++ tests\bgt\main。 cpp @ 113]
0012f1f4 0044cb6e 01c27f28 004eab68 01c4a9e8 perilous_hearts!LineCallback + 0xe [e:\c ++ tests\bgt\main.cpp @ 572]
0012f224 004367b2 01c27f28 004eab68 01c27fa8 perilou s_hearts!asCScriptEngine :: CallGlobalFunction + 0x1e [e:\c ++ tests\bat\angelscript\source\as_scriptengine.cpp @ 3140]
0012f238 00438310 01c28058 01c27f28 0012f2fc perilous_hearts!asCContext :: CallLineCallback + 0x22 [ e:\c ++ tests \bgt\angelscript\source\as_context.cpp @ 3780]
0012f2fc 0043a7c8 00000006 75c5ea71 ffffffff perilous_hearts!asCContext :: ExecuteNext + 0x9d0 [e:\c ++ tests\bgt \angelscript\source\as_context.cpp @ 2033]
0012f314 00466ee9 0012f72c 0012f7b8 00480be0 perilous_hearts!asCContext :: Execute + 0x1b8 [e:\c ++ tests\bat\angelscript\source\as_context .cpp @ 983]
0012f72c 0047c505 75c1147a 75c0e18a 00400000 perilous_hearts!execute + 0x119 [e:\c ++ tests\bgt\main.cpp @ 1035]
0012fd40 0047c5c3 0047c6be 00000000 00232027 perilous_hearts!RunApplication + 0xb15 [e:\c ++ tests\bgt\main.cpp @ 929]
0012fd44 0047c6be 00000000 00232027 00000cc0 pe rilous_hearts!run_script + 0x93 [e:\c ++ tests\bgt\main.cpp @ 1259]
0012feb0 0047cbdc 00000000 fffffffe 00000000 perilous_hearts!main_game + 0x4e [e:\c ++ tests\bgt\main .cpp @ 1367]
0012fef8 00492973 00400000 00000000 00232027 perilous_hearts!WinMain + 0x3dc [e:\c ++ tests\bgt\main.cpp @ 1551]
0012ff88 75ef1194 7ffd5000 0012ffd4 7770b429 perilous_hearts!__ tmainCRTStartup + 0x113 [f:\dd\vctools\crt_bld\self_x86\crt\src\crt0.c @ 263]
0012ff94 7770b429 7ffd5000 7700c664 00000000 kernel32!BaseThreadInitThunk + 0x12
0012ffd4 7770b3fc 004929de 7ffd5000 00000000 ntdll!RtlInitializeExceptionChain + 0x63
0012ffec 00000000 004929de 7ffd5000 00000000 ntdll!RtlInitializeExceptionChain + 0x36


STACK_COMMAND:〜0s; .ecxr kb

FOLLOWUP_IP:
AcXtrnal + 91dd
6c3291dd 8b1d0c11326c mov ebx,dword ptr [AcXtrnal + 0x110c(6c32110c)]

SYMBOL_STACK_INDEX:1

SYMBOL_NAME:AcXtrnal + 91dd

FOLLOWUP_NAME:MachineOwner

MODULE_NAME:AcXtrnal

IMAGE_NAME:AcXtrnal.dll

BUCKET_ID:WRONG_SYMBOLS

FAILURE_BUCKET_ID:WRONG_SYMBOLS_80000003_AcXtrnal.dll!未知

WATSON_STAGEONE_URL:http://watson.microsoft.com/StageOne/perilous_hearts_exe/0_0_0_0/4dc830b1/未知/ 0_0_0_0 / bbbbbbb4 / 80000003 / 00000000.htm?退货= 1

跟随:MachineOwner






我有很多这样的例外,我根本无法弄清楚为什么发生。我显然在某处出现错误,但似乎不可能在Xp上复制。我试图设置一个向量异常处理程序来查找这个特定的异常,然后继续执行,如果它被触发,但没有运气。



引擎编译/ Zi在编译器设置中,但是使用/ OPT:REF命令给链接器。



作为一个附注,如果有人愿意花更多时间这对我来说,我会非常高兴在财务上覆盖那些时间。



提前感谢任何帮助!



亲爱的,



Philip Bennefall

解决方案

转储无效,因为它缺少AcXtrnal.dll的符号,所以很可能堆栈没有正确的走。



AcXtrnl.dll是适用于Windows的应用程序兼容性DLL ,并且通常只有在进程的属性对话框的兼容性选项卡中检查运行兼容性模式下的程序时才由进程加载



如果您的Windows 7测试人员已将此设置选中,是否取消选中可让您的程序正常运行?



我强烈建议您下载应用程序兼容性工具包(更多信息 here )并运行您的程序,以诊断与Windows XP的Windows版本相比潜在的兼容性问题。


I am having some trouble with crashes on Windows 7 32 bit in my game engine. It runs without any such crashes on Windows xp 32 bit, which is my development machine. I have compiled a debug build of the engine, and this is some output generated from a crash dump that I received from a tester:

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


Loading Dump File [E:\Perilous Hearts\debug\perilous_hearts.DMP]
User Mini Dump File with Full Memory: Only application data is available

Symbol search path is: E:\Perilous Hearts\debug
Executable search path is: 
Windows 7 Version 7600 MP (4 procs) Free x86 compatible
Product: WinNt, suite: SingleUserTS
Machine Name:
Debug session time: Wed May 11 20:04:24.000 2011 (GMT+2)
System Uptime: 0 days 1:57:58.550
Process Uptime: 0 days 0:01:16.000
................................................................
..........
Loading unloaded module list
.....
eax=00000000 ebx=0012f088 ecx=00000000 edx=00000000 esi=00000011 edi=6c350dd8
eip=776f6344 esp=0012f028 ebp=0012f080 iopl=0         nv up ei pl zr na pe cy
cs=001b  ss=0023  ds=0000  es=0000  fs=003b  gs=0000             efl=00000247
*** ERROR: Symbol file could not be found.  Defaulted to export symbols for ntdll.dll - 
ntdll!KiFastSystemCallRet:
776f6344 c3              ret
0:000> |* !analyze -v -f
*******************************************************************************
*                                                                             *
*                        Exception Analysis                                   *
*                                                                             *
*******************************************************************************

*** ERROR: Symbol file could not be found.  Defaulted to export symbols for KERNELBASE.dll - 
*** ERROR: Symbol file could not be found.  Defaulted to export symbols for imm32.dll - 
*** ERROR: Symbol file could not be found.  Defaulted to export symbols for user32.dll - 
*** WARNING: Unable to verify checksum for perilous_hearts.exe
*** ERROR: Symbol file could not be found.  Defaulted to export symbols for kernel32.dll - 
***** OS symbols are WRONG. Please fix symbols to do analysis.

*************************************************************************
***                                                                   ***
***                                                                   ***
***    Your debugger is not using the correct symbols                 ***
***                                                                   ***
***    In order for this command to work properly, your symbol path   ***
***    must point to .pdb files that have full type information.      ***
***                                                                   ***
***    Certain .pdb files (such as the public OS symbols) do not      ***
***    contain the required information.  Contact the group that      ***
***    provided you with these symbols if you need this command to    ***
***    work.                                                          ***
***                                                                   ***
***    Type referenced: ntdll!_PEB                                    ***
***                                                                   ***
*************************************************************************
*** ERROR: Symbol file could not be found.  Defaulted to export symbols for minHook.dll - 
*** ERROR: Symbol file could not be found.  Defaulted to export symbols for acatts.dll - 
*** ERROR: Symbol file could not be found.  Defaulted to export symbols for nvdaHelperRemote.dll - 
*** ERROR: Symbol file could not be found.  Defaulted to export symbols for IAccessible2Proxy.dll - 
*** WARNING: Unable to verify checksum for Hlas.dll
*** ERROR: Symbol file could not be found.  Defaulted to export symbols for Hlas.dll - 
*** ERROR: Symbol file could not be found.  Defaulted to export symbols for ntvdm.exe - 
*** ERROR: Symbol file could not be found.  Defaulted to export symbols for AcaTtsSapi5.dll - 
*** WARNING: Unable to verify checksum for gwmhook.dll
*** ERROR: Symbol file could not be found.  Defaulted to export symbols for gwmhook.dll - 
*** ERROR: Symbol file could not be found.  Defaulted to export symbols for HLW32.DLL - 
*** ERROR: Symbol file could not be found.  Defaulted to export symbols for dsound.dll - 
*** ERROR: Symbol file could not be found.  Defaulted to export symbols for sapi.dll - 
*** ERROR: Symbol file could not be found.  Defaulted to export symbols for msdmo.dll - 
*** ERROR: Symbol file could not be found.  Defaulted to export symbols for sfc_os.dll - 
*** ERROR: Symbol file could not be found.  Defaulted to export symbols for sfc.dll - 
*** ERROR: Symbol file could not be found.  Defaulted to export symbols for uiautomationcore.dll - 
*** ERROR: Symbol file could not be found.  Defaulted to export symbols for dinput8.dll - 
*** ERROR: Symbol file could not be found.  Defaulted to export symbols for midimap.dll - 
*** ERROR: Symbol file could not be found.  Defaulted to export symbols for msacm32.dll - 
*** ERROR: Symbol file could not be found.  Defaulted to export symbols for msacm32.drv - 
*** ERROR: Symbol file could not be found.  Defaulted to export symbols for AudioSes.dll - 
*** ERROR: Symbol file could not be found.  Defaulted to export symbols for ksuser.dll - 
*** ERROR: Symbol file could not be found.  Defaulted to export symbols for wdmaud.drv - 
*** ERROR: Symbol file could not be found.  Defaulted to export symbols for winmm.dll - 
*** ERROR: Symbol file could not be found.  Defaulted to export symbols for wkscli.dll - 
*** ERROR: Symbol file could not be found.  Defaulted to export symbols for netutils.dll - 
*** ERROR: Symbol file could not be found.  Defaulted to export symbols for netapi32.dll - 
*** ERROR: Symbol file could not be found.  Defaulted to export symbols for winspool.drv - 
*** ERROR: Symbol file could not be found.  Defaulted to export symbols for oleacc.dll - 
*** ERROR: Symbol file could not be found.  Defaulted to export symbols for comctl32.dll - 
*** ERROR: Symbol file could not be found.  Defaulted to export symbols for MMDevAPI.dll - 
*** ERROR: Symbol file could not be found.  Defaulted to export symbols for powrprof.dll - 
*** ERROR: Symbol file could not be found.  Defaulted to export symbols for wtsapi32.dll - 
*** ERROR: Symbol file could not be found.  Defaulted to export symbols for hid.dll - 
*** ERROR: Symbol file could not be found.  Defaulted to export symbols for avrt.dll - 
*** ERROR: Symbol file could not be found.  Defaulted to export symbols for propsys.dll - 
*** ERROR: Symbol file could not be found.  Defaulted to export symbols for winsta.dll - 
*** ERROR: Symbol file could not be found.  Defaulted to export symbols for rsaenh.dll - 
*** ERROR: Symbol file could not be found.  Defaulted to export symbols for cryptsp.dll - 
*** ERROR: Symbol file could not be found.  Defaulted to export symbols for srvcli.dll - 
*** ERROR: Symbol file could not be found.  Defaulted to export symbols for apphelp.dll - 
*** ERROR: Symbol file could not be found.  Defaulted to export symbols for CRYPTBASE.dll - 
*** ERROR: Symbol file could not be found.  Defaulted to export symbols for sxs.dll - 
*** ERROR: Symbol file could not be found.  Defaulted to export symbols for RpcRtRemote.dll - 
*** ERROR: Module load completed but symbols could not be loaded for profapi.dll
*** ERROR: Symbol file could not be found.  Defaulted to export symbols for msasn1.dll - 
*** ERROR: Symbol file could not be found.  Defaulted to export symbols for wintrust.dll - 
*** ERROR: Symbol file could not be found.  Defaulted to export symbols for devobj.dll - 
*** ERROR: Symbol file could not be found.  Defaulted to export symbols for cfgmgr32.dll - 
*** ERROR: Symbol file could not be found.  Defaulted to export symbols for crypt32.dll - 
*** ERROR: Symbol file could not be found.  Defaulted to export symbols for oleaut32.dll - 
*** ERROR: Symbol file could not be found.  Defaulted to export symbols for ws2_32.dll - 
*** ERROR: Symbol file could not be found.  Defaulted to export symbols for msvcrt.dll - 
*** ERROR: Symbol file could not be found.  Defaulted to export symbols for msctf.dll - 
*** ERROR: Symbol file could not be found.  Defaulted to export symbols for shlwapi.dll - 
*** ERROR: Symbol file could not be found.  Defaulted to export symbols for ole32.dll - 
*** ERROR: Symbol file could not be found.  Defaulted to export symbols for setupapi.dll - 
*** ERROR: Symbol file could not be found.  Defaulted to export symbols for comdlg32.dll - 
*** ERROR: Symbol file could not be found.  Defaulted to export symbols for gdi32.dll - 
*** ERROR: Symbol file could not be found.  Defaulted to export symbols for rpcrt4.dll - 
*** ERROR: Symbol file could not be found.  Defaulted to export symbols for shell32.dll - 
*** ERROR: Symbol file could not be found.  Defaulted to export symbols for advapi32.dll - 
*** ERROR: Symbol file could not be found.  Defaulted to export symbols for usp10.dll - 
*** ERROR: Symbol file could not be found.  Defaulted to export symbols for lpk.dll - 
*** ERROR: Symbol file could not be found.  Defaulted to export symbols for nsi.dll - 
*** ERROR: Symbol file could not be found.  Defaulted to export symbols for psapi.dll - 
*** ERROR: Symbol file could not be found.  Defaulted to export symbols for clbcatq.dll - 
*** ERROR: Symbol file could not be found.  Defaulted to export symbols for sechost.dll - 
*************************************************************************
***                                                                   ***
***                                                                   ***
***    Your debugger is not using the correct symbols                 ***
***                                                                   ***
***    In order for this command to work properly, your symbol path   ***
***    must point to .pdb files that have full type information.      ***
***                                                                   ***
***    Certain .pdb files (such as the public OS symbols) do not      ***
***    contain the required information.  Contact the group that      ***
***    provided you with these symbols if you need this command to    ***
***    work.                                                          ***
***                                                                   ***
***    Type referenced: IMAGE_NT_HEADERS32                            ***
***                                                                   ***
*************************************************************************
*************************************************************************
***                                                                   ***
***                                                                   ***
***    Your debugger is not using the correct symbols                 ***
***                                                                   ***
***    In order for this command to work properly, your symbol path   ***
***    must point to .pdb files that have full type information.      ***
***                                                                   ***
***    Certain .pdb files (such as the public OS symbols) do not      ***
***    contain the required information.  Contact the group that      ***
***    provided you with these symbols if you need this command to    ***
***    work.                                                          ***
***                                                                   ***
***    Type referenced: kernel32!pNlsUserInfo                         ***
***                                                                   ***
*************************************************************************
*************************************************************************
***                                                                   ***
***                                                                   ***
***    Your debugger is not using the correct symbols                 ***
***                                                                   ***
***    In order for this command to work properly, your symbol path   ***
***    must point to .pdb files that have full type information.      ***
***                                                                   ***
***    Certain .pdb files (such as the public OS symbols) do not      ***
***    contain the required information.  Contact the group that      ***
***    provided you with these symbols if you need this command to    ***
***    work.                                                          ***
***                                                                   ***
***    Type referenced: kernel32!pNlsUserInfo                         ***
***                                                                   ***
*************************************************************************

FAULTING_IP: 
+26b952f019cdf74
00000000 ??              ???

EXCEPTION_RECORD:  ffffffff -- (.exr 0xffffffffffffffff)
ExceptionAddress: 00000000
   ExceptionCode: 80000003 (Break instruction exception)
  ExceptionFlags: 00000000
NumberParameters: 0

FAULTING_THREAD:  000007fc

DEFAULT_BUCKET_ID:  WRONG_SYMBOLS

PROCESS_NAME:  perilous_hearts.exe

ADDITIONAL_DEBUG_TEXT:  
Use '!findthebuild' command to search for the target build information.
If the build information is available, run '!findthebuild -s ; .reload' to set symbol path and load symbols.

FAULTING_MODULE: 776b0000 ntdll

DEBUG_FLR_IMAGE_TIMESTAMP:  4a5bd98a

ERROR_CODE: (NTSTATUS) 0x80000003 - {EXCEPTION}  Breakpoint  A breakpoint has been reached.

EXCEPTION_CODE: (HRESULT) 0x80000003 (2147483651) - One or more arguments are invalid

PRIMARY_PROBLEM_CLASS:  WRONG_SYMBOLS

BUGCHECK_STR:  APPLICATION_FAULT_WRONG_SYMBOLS

LAST_CONTROL_TRANSFER:  from 6c3291dd to 776f6344

STACK_TEXT:  
WARNING: Stack unwind information not available. Following frames may be wrong.
0012f080 6c3291dd 0266000c 6c3291dd 6c350dd8 ntdll!KiFastSystemCallRet
0012f0a0 759b1abf 00230000 6021a558 75c161dd AcXtrnal+0x91dd
0012f0dc 75f82868 0266000c 00000102 00285360 KERNELBASE!LocalLock+0x29
0012f0f0 75f82801 002e04eb 00000001 0012f12c imm32!ImmLockIMC+0x76
0012f100 75f84a19 002e04eb 00000102 004eb714 imm32!ImmLockIMC+0xf
0012f12c 75c36b11 000801e8 04050405 00000025 imm32!ImmProcessKey+0x31
0012f154 776f627e 0012f16c 00000014 0012ff78 user32!GetLastActivePopup+0xc5
0012f1a8 75c12fdc 004eb714 000801e8 00000000 ntdll!KiUserCallbackDispatcher+0x2e
0012f1d4 0047f1cb 004eb714 000801e8 00000000 user32!PeekMessageA+0x12a
0012f1f0 00480bee 0044cb6e 01c27f28 004eab68 perilous_hearts!poll_window+0x7b [e:\c++ tests\bgt\main.cpp @ 113]
0012f1f4 0044cb6e 01c27f28 004eab68 01c4a9e8 perilous_hearts!LineCallback+0xe [e:\c++ tests\bgt\main.cpp @ 572]
0012f224 004367b2 01c27f28 004eab68 01c27fa8 perilous_hearts!asCScriptEngine::CallGlobalFunction+0x1e [e:\c++ tests\bgt\angelscript\source\as_scriptengine.cpp @ 3140]
0012f238 00438310 01c28058 01c27f28 0012f2fc perilous_hearts!asCContext::CallLineCallback+0x22 [e:\c++ tests\bgt\angelscript\source\as_context.cpp @ 3780]
0012f2fc 0043a7c8 00000006 75c5ea71 ffffffff perilous_hearts!asCContext::ExecuteNext+0x9d0 [e:\c++ tests\bgt\angelscript\source\as_context.cpp @ 2033]
0012f314 00466ee9 0012f72c 0012f7b8 00480be0 perilous_hearts!asCContext::Execute+0x1b8 [e:\c++ tests\bgt\angelscript\source\as_context.cpp @ 983]
0012f72c 0047c505 75c1147a 75c0e18a 00400000 perilous_hearts!execute+0x119 [e:\c++ tests\bgt\main.cpp @ 1035]
0012fd40 0047c5c3 0047c6be 00000000 00232027 perilous_hearts!RunApplication+0xb15 [e:\c++ tests\bgt\main.cpp @ 929]
0012fd44 0047c6be 00000000 00232027 00000cc0 perilous_hearts!run_script+0x93 [e:\c++ tests\bgt\main.cpp @ 1259]
0012feb0 0047cbdc 00000000 fffffffe 00000000 perilous_hearts!main_game+0x4e [e:\c++ tests\bgt\main.cpp @ 1367]
0012fef8 00492973 00400000 00000000 00232027 perilous_hearts!WinMain+0x3dc [e:\c++ tests\bgt\main.cpp @ 1551]
0012ff88 75ef1194 7ffd5000 0012ffd4 7770b429 perilous_hearts!__tmainCRTStartup+0x113 [f:\dd\vctools\crt_bld\self_x86\crt\src\crt0.c @ 263]
0012ff94 7770b429 7ffd5000 7700c664 00000000 kernel32!BaseThreadInitThunk+0x12
0012ffd4 7770b3fc 004929de 7ffd5000 00000000 ntdll!RtlInitializeExceptionChain+0x63
0012ffec 00000000 004929de 7ffd5000 00000000 ntdll!RtlInitializeExceptionChain+0x36


STACK_COMMAND:  ~0s; .ecxr ; kb

FOLLOWUP_IP: 
AcXtrnal+91dd
6c3291dd 8b1d0c11326c    mov     ebx,dword ptr [AcXtrnal+0x110c (6c32110c)]

SYMBOL_STACK_INDEX:  1

SYMBOL_NAME:  AcXtrnal+91dd

FOLLOWUP_NAME:  MachineOwner

MODULE_NAME: AcXtrnal

IMAGE_NAME:  AcXtrnal.dll

BUCKET_ID:  WRONG_SYMBOLS

FAILURE_BUCKET_ID:  WRONG_SYMBOLS_80000003_AcXtrnal.dll!Unknown

WATSON_STAGEONE_URL:  http://watson.microsoft.com/StageOne/perilous_hearts_exe/0_0_0_0/4dc830b1/unknown/0_0_0_0/bbbbbbb4/80000003/00000000.htm?Retriage=1

Followup: MachineOwner


I have had a lot of these exceptions, and I simply cannot figure out why they are occuring. I am obviously doing something wrong somewhere, but it seems impossible to reproduce on Xp. I tried to set up a vectored exception handler to look for this particular exception and then continue execution if it was triggered, but no luck there.

The engine is compiled with /Zi in the compiler settings, but with the /OPT:REF command given to the linker.

As a side note, if someone is willing to spend some time looking deeper into this with me, I would be more than happy to cover those hours financially.

Thanks in advance for any help!

Kind regards,

Philip Bennefall

解决方案

This crash dump is unhelpful because it's missing symbols for AcXtrnal.dll, so it's likely that the stack isn't being walked properly.

AcXtrnl.dll is an Application Compatibility DLL for Windows, and is usually only loaded by a process if "Run this program in compatibility mode" is checked in the Compatibility tab of the Properties dialog for the executable.

If your Windows 7 testers have this setting checked, does unchecking it allow your program to run correctly?

I'd highly recommend downloading the Application Compatibility Toolkit (more information here) and running your program with it to diagnose potential compatibility issues with versions of Windows newer than Windows XP.

这篇关于Windows 7上的Windows dll的断点异常的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆