当前位置:  开发笔记 > 开发工具 > 正文

如何在visual studio中调试外部类库项目?

如何解决《如何在visualstudio中调试外部类库项目?》经验,为你挑选了4个好方法。

我有一个项目(A),它引用位于另一个vs解决方案中的外部项目(B)类库中的程序集.

我还没有理解如何在从项目A运行程序时从B有效地调试类库.我是否必须在项目B上启用某些内容,例如调试信息等,以便我可以在A调试时进入调试阶段?

提前致谢.



1> JaredPar..:

尝试禁用Just My Code(JMC).

工具 - >选项 - >调试器

取消选中"仅启用我的代码"

默认情况下,调试器会尝试将世界视图限制为仅包含在解决方案中的代码.这有时非常有用,但是当你想调试不在你的解决方案中的代码时(就像你的情况一样),你需要禁用JMC才能看到它.否则,代码将被视为外部代码,并在很大程度上隐藏在您的视图中.

编辑

如果您的代码中断,请尝试以下操作.

调试 - > Windows - >模块

找到您感兴趣的项目的DLL

右键单击 - >加载符号 - >为您的其他项目选择.PDB的路径


在此文件夹中找不到匹配的符号文件.

2> TheGateKeepe..:

这已经困扰了我一段时间.我通常最终做的是使用调试模式重建我的外部库,然后将.dll和.pdb文件复制到我的网站的bin.这允许我进入图书馆代码.



3> Sarath Avana..:

假设的路径

项目 A

C:\Projects\ProjectA

项目 B

C:\Projects\ProjectB

并且ProjectB的dll在

C:\Projects\ProjectB\bin\Debug\

要调试到ProjectBProjectA,请执行下列操作

    B带有dll的dll 复制.PDBProjectA编译目录中.

    现在调试ProjectA.当代码到达你需要在调试时调用dll的方法或事件等的部分时,按下F11以进入dll的代码.

注意:不要错过复制.PDB文件



4> MatrixManAtY..:

我运行了两个visual studio实例 - 一个用于外部dll,一个用于主应用程序.
在外部dll的项目属性中,设置以下内容:

构建事件:

copy /y "$(TargetDir)$(TargetName).dll" "C:\ \bin\$(ConfigurationName)\$(TargetName).dll"

copy /y "$(TargetDir)$(TargetName).pdb" "C:\ \bin\$(ConfigurationName)\$(TargetName).pdb"

调试:

启动外部程序: C:\\bin\debug\.exe

工作目录 C:\\bin\debug

这样,每当我构建外部dll时,它都会在主应用程序的目录中更新.如果我从外部dll的项目中调试 - 主应用程序运行,但调试器只能访问外部dll中的断点.如果我从主项目中调试,主应用程序将使用最近构建的外部dll运行,但现在调试器只能在主项目中遇到断点.

我意识到一个调试器将为两者做好工作,但我发现用这种方式保持两者更容易.

推荐阅读
Life一切安好
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有