调试托管应用程序崩溃
我正在拼命地尝试调试我想要发布的应用程序。它是在 Win7 x64 上创建的,在 Win x32 上也可以正常运行,但不能在 XP 上运行(没有 Vista 来测试)。
我通过将 _NT_SYMBOL_PATH 设置为 XP 中应用程序的目录来创建转储文件,然后使用以下命令运行调试器: adplus -crash -pn launchmenot.exe
这会创建一个我在 Visual Studio 2008 中打开的转储文件(已在 VS 中指定应用程序的 PDB 和 MS 符号服务器的目录。在 VS 下载所有符号后,我会得到 '当前位置没有可用的源代码'。
我感觉这可能是在 XP 上使用 Win7 的 Interop.IWshRuntimeLibrary 造成的,但我真的不知道
转储文件有 107Mb,但应用程序本身是在线的。 此处(在调试模式下编译)。任何人都可以为我指明找到原因或修复的正确方向。 错误?
非常感谢
I'm trying desparately to debug an application I'm trying to release. It was created on Win7 x64, and also runs fine on Win x32, but not on XP (Don't have Vista to test).
I've created a dump file by setting the _NT_SYMBOL_PATH to the directory of the application in XP, then run the debugger with:
adplus -crash -pn launchmenot.exe
This creates a dump file which I've opened in Visual Studio 2008 (Having specified the directory of the application's PDBs and the MS symbol servers in VS. After VS downloads all of the symbols I just get 'There is no source code available for the current location'.
I have a feeling it could be from using the Interop.IWshRuntimeLibrary from Win7 on XP, but I really don't know.
The dump file is 107Mb, but the app itself is online here (compiled in debug mode). Could anyone point me in the right direction for finding the cause or fixing the error please?
Much appreciated. :)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
此错误消息对您来说是否意味着什么:
编辑:最后一个异常实际上是从未处理的异常过滤器中抛出的,并且变得致命。有两个内部异常更详细地描述了问题。
一切都从以下跟踪开始:
它清楚地表明图像资源存在问题。
嵌入的异常是:
包含在:
经过一番谷歌搜索后,我发现了这篇文章,其中详细介绍了类似的发现。看起来像一个无法识别的格式的图标。该帖子接着建议删除这些图标。我的猜测是,您可以尝试在兼容的编辑器中重做它们。
Does this error message mean anything to you:
Edit: this last exception is actually being thrown from the unhandled exception filter and becomes fatal. There're two inner exceptions that describe the problem in more detail.
It all starts off with this trace:
which clearly indicates a problem with an image resource.
The embedded exceptions are:
wrapped in:
After a bit of googling I came across this post which details a similar finding. Looks like an icon in a unrecognized format. The post goes on to suggest to remove the icons. My guess is that you could try and redo them in a compliant editor.
在 wndbg 中您可能会运气好一点——从 Windows 调试工具下载页面。加载崩溃转储,设置符号路径并运行
!analyze -v
以获取有关崩溃的详细信息。如果您仍然无法找到正确的符号,请尝试运行!sym busy
以及 !itoldyouso 命令You might have a bit more luck in wndbg -- download from the Debugging Tools for Windows page. Load the crash dump, set the symbol path and run
!analyze -v
to get detailed information on the crash. If you are still having problems finding the correct symbols try running!sym noisy
and also the !itoldyouso command使用 WinDebug 分析转储 - 它也可用于托管代码。
有关详细信息,请参阅 Tess Ferrandez 的博客文章。
Use WinDebug to analyse the dump - it can also used for managed code.
See the blog entries by Tess Ferrandez for more info.