应用程序使用DL​​L,但Visual Studio 2010没有在模块窗口中显示它

时间:2013-09-13 01:50:33

标签: c++ visual-studio-2010 dll

我觉得这是一个愚蠢的问题,但我似乎无法弄清楚答案。我目前有一个C ++应用程序正在加载&利用DLL(我用VS 2010编译了应用程序和DLL)。我很肯定它正在使用DLL,因为a)如果我重命名DLL,我得到一个未找到的异常,并且b)它显示的输出只来自(并且我可以更改它以查看输出更改)DLL内部

我的问题是,在调试Visual Studio的模块窗口时,似乎没有加载DLL。因此,显然它没有符号,我也无法设置断点......但这对我没有任何意义,因为它显然使用了DLL。

我已经看到了其他几个类似的问题,答案一般都是看代码是本机代码,托管代码还是混合代码,并相应地设置“附加到进程”字段。我已经尝试了所有的选项,并确保我的调试器类型设置为“混合”(虽然我已经尝试使用Native& Managed,只是为了验证这些没有解决问题)。

有没有人有任何建议?

提前致谢!

2 个答案:

答案 0 :(得分:0)

我有一些想法:

  1. 检查输出窗口是否缺少DLL符号。
  2. 确保DLL旁边有dllname.pdb文件
  3. 确保visual studio解决方案有两个项目(EXE,DLL)项目
  4. 切换到DEBUG模式而不是RELEASE模式。
  5. 运行进程资源管理器(从MS下载)并检查在运行时绑定到EXE的DLL的路径。
  6. 最后是最终的解决方案:

    1. 打开Process Explorer并搜索您的DLL名称。
    2. 查找哪个EXE正在使用它。
    3. 转到VS并将调试器附加到该EXE。
    4. 我希望其中任何一个能解决您的问题

答案 1 :(得分:0)

这发生在我身上,我找到了project-> properties-> Debug页面并单击了“启用本机代码调试”框。我正在做一个访问C ++ / native dll的C#项目

budward