Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/336.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 独立调试窗口?_C#_.net_Debugging - Fatal编程技术网

C# 独立调试窗口?

C# 独立调试窗口?,c#,.net,debugging,C#,.net,Debugging,我正在编写一个库,它可以编译成另一个C#应用程序运行的DLL。我需要一些方法来“查看”代码中的一些变量。我没有控制台,也无法将文本输出到其他应用程序 我想我之前找到了一些程序,可以显示所有正在运行的程序的Debug.WriteLine。。。我记不起它的名字了。有人知道吗?或者至少知道我调试这个的一些方法?如果在调试模式下编译库,它将与dll一起生成pdb文件。如果pdb位于同一文件夹中,则可以通过dll中的方法调用介入。为此,需要从库中打开.cs文件,并在代码上设置断点 我不知道我是否足够清楚,

我正在编写一个库,它可以编译成另一个C#应用程序运行的DLL。我需要一些方法来“查看”代码中的一些变量。我没有控制台,也无法将文本输出到其他应用程序


我想我之前找到了一些程序,可以显示所有正在运行的程序的
Debug.WriteLine
。。。我记不起它的名字了。有人知道吗?或者至少知道我调试这个的一些方法?

如果在调试模式下编译库,它将与dll一起生成pdb文件。如果pdb位于同一文件夹中,则可以通过dll中的方法调用介入。为此,需要从库中打开.cs文件,并在代码上设置断点

我不知道我是否足够清楚,但假设解决方案A使用dll B。确保dll B所在的位置也有相关的pdb文件。然后在VS中,只需使用菜单中的“打开文件”来打开需要调试的.cs文件。如果已从pdb正确加载调试符号,则断点符号将满,您将能够调试代码


如果您尚未在VS会话中,则可以启动VS。将调试会话附加到运行T代码的进程,从dll中打开.cs代码文件(同样,您需要pdb文件,并且pdb文件需要与dll位于同一文件夹中)然后,您可以将断点放在代码文件中。

您是否可以引用SysInternal的DebugView?你不能把你的信息记录到一个文件里吗?@Bala:我没想到。这不是最好的做事方式,但它可以奏效。彼得是对的。请记住,您不能让任何其他调试器处于活动状态,否则它将无法捕获任何内容。@Peter:是的,看起来是这样。