首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >有关将windbg用于从Labview调用的dll的问题

有关将windbg用于从Labview调用的dll的问题
EN

Stack Overflow用户
提问于 2009-10-31 02:26:03
回答 3查看 1.5K关注 0票数 0

我正在尝试调试由Labview应用程序调用的dll。我有正确的符号文件(从微软下载),像ntdll.dll和其他东西。当然,我还有用于我的DLL的pdb文件。显然,我没有任何labview的符号文件;因为据我所知,National Instruments没有发布。

我尝试过一个简单的测试应用程序,它从windbg.exe内部调用一个动态链接库。这样做效果很好。当我将labview添加到混合中时,windbg当然会开始给出错误:所有的labview内容都没有找到符号文件。我确信我设置了正确的符号文件目录,也设置了源文件夹。我在某种程度上是windbg的新手,但我开始意识到,除非你有使用它的所有符号文件。对吗?如果是这样,我猜它又回到了fprintf和有限的调试。

我不想使用visual studio,因为这是一个半嵌入式应用程序,它没有足够的磁盘空间来容纳所有的visual studio。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2009-10-31 02:33:51

如果您只计划在DLL中设置断点和其他任何东西,那么您不一定会遇到麻烦。这应该可以很好地工作。从DLL返回到LabVIEW映像的堆栈跟踪将开始抱怨,但希望它是您不感兴趣的东西,您可以忽略它。

票数 2
EN

Stack Overflow用户

发布于 2009-10-31 02:32:41

您需要将windbg附加到LabVIEW进程,然后在DLL代码中设置断点。这样,您只会在到达代码时中断。这就是它在Visual Studio中的工作方式,快速搜索似乎表明它也适用于windbg。

票数 2
EN

Stack Overflow用户

发布于 2009-11-03 11:58:04

您还可以在windbg中设置断点,使其在加载DLL时立即中断。为此,将windbg附加到Labview进程并使用以下命令:sxe ld foo(其中foo是您的dll的名称)。这将通知调试器在发生dll load事件时中断,特别是对于dll。有关详细信息,请参阅http://msdn.microsoft.com/en-us/library/cc266379.aspx。当您到达此断点时,您可以确定要在代码中中断哪个符号以进行调试。

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

https://stackoverflow.com/questions/1651525

复制
相关文章

相似问题

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