独立调试窗口?

3
我正在编写一个库,它编译成DLL并由另一个C#应用程序运行。我需要一种方法来“看到”我的代码中的一些变量。我没有控制台,并且没有办法将文本输出到其他应用程序。
我想我以前找到过一些程序,可以显示所有正在运行的程序的Debug.WriteLine…但是我记不起它的名字了。有人知道吗?或者至少知道我如何调试这个问题吗?

6
您是否在提到SysInternal的DebugView?它可以作为您要求的工具。您可以在http://technet.microsoft.com/en-us/sysinternals/bb896647上找到更多信息。 - Peter Huene
2
你不能将你的消息记录到文件中吗? - Bala R
@Bala:我没有想到那个。虽然这不是最好的方法,但它可能有效。 - mpen
彼得是正确的。只要记住,您不能有任何其他调试器处于活动状态,否则它将无法捕获任何内容。 - Steve Wellens
应用程序是否使用调试器保护?因为如果您将PDB与dll放在一起,当您附加VS时它应该会自动加载它。这样可以让您调试代码。 - Will
显示剩余3条评论
1个回答

1
如果您以调试模式编译库,它将生成一个pdb文件和dll文件在同一目录下。如果您在相同的文件夹中有pdb文件,那么您可以通过dll中的方法调用进行步进。要做到这一点,您需要打开库中的.cs文件并在代码上设置断点。
我不知道我是否清楚,但是假设解决方案A使用dll B。确保您在dll B所在的位置也有相关的pdb文件。然后在VS中,只需使用菜单中的“打开文件”来打开您需要调试的.cs文件。如果已经从pdb正确加载了调试符号,则断点符号将是完整的,并且您将能够调试代码。
如果您还没有进入VS会话,您可以启动VS。将调试会话附加到运行您的代码的进程,打开来自dll的.cs代码文件(再次需要pdb文件,并且pdb文件需要与dll文件位于同一文件夹中),然后您就可以在代码文件中设置断点。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接