首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用.dll函数生成一个小型转储,其中应用程序不是由Visual Studio创建的

使用.dll函数生成一个小型转储,其中应用程序不是由Visual Studio创建的
EN

Stack Overflow用户
提问于 2010-12-09 09:15:28
回答 1查看 342关注 0票数 0

我有一个用Visual Studio2005(非托管C++)生成的.dll文件。在DLL中的各种函数中,我可以检测错误并调用DLL中的另一个函数来生成一个小型转储(使用dbghelp.dll)。

当使用DLL的应用程序也是VS2005生成的程序时,这种方法非常有效。然而,当我使用National Instrument Measurement /CVI来生成应用程序时(用普通的C语言,这并不重要),它没有得到一个.pdb文件(令人惊讶!)。因此,当我使用VS2005打开生成的.dmp文件时,它告诉我应用程序不是通过调试构建的(但它确实是!)显示的堆栈是无用的。

此动态链接库中的许多(40+)其他函数被CVI应用程序成功使用。这似乎演示了从非VS应用程序成功访问DLL函数。

National Instruments显然可以使用来自DrWatson的完全转储,所以这肯定是可能的。

有人知道如何获取使用.dmp文件所需的内容吗?

总而言之:没有.NET,函数访问很好,生成的小型转储文件似乎不能用于Visual Studio。

谢谢你的帮助。

EN

回答 1

Stack Overflow用户

发布于 2011-01-10 14:29:36

您必须具有符号(至少是dllexports)才能分析转储文件。尝试使用Debugging Tools for Windows (WinDBG)打开这个小型转储文件,看看您得到了什么。与VisualStudio 2005相比,WinDBG在分析转储方面做得更好。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4393997

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档