[英]Debugging in visual studio release application
我有该应用程序的发行版(需要一些批处理文件才能安装和运行)。 我有一份源代码。 为了查看每个事件的路径(以了解程序),到目前为止,我正在做的是安装应用程序,同时构建我的源代码,然后复制所有dll和pdbs(以便调试器可以映射到我的代码)从调试文件夹到程序文件,然后运行该应用程序。 当我在源代码中放置了diagnostics.debugger.launch时,我已经能够调试我的版本。 我这样做是因为,我无法直接从bin \\ debug中执行和测试项目,因为它具有某些依赖项(批处理文件参数),因此我正在安装发行版。 我必须找出我代码中的每个事件路径(因为我是这家公司以及.NET的新手)。 有没有更简单的方法(例如intellitrace ...对我来说有帮助吗?)谢谢。
欢迎来到SO! 更多信息会有所帮助。 程序在做什么,您要解决什么问题,等等。
至于跟踪执行路径,有很多方法可以执行所需的操作。 只是一些建议:
快速示例:(再次,不建议使用此方法...)
using System.Diagnostics;
using System.IO;
namespace TrackingExecutionPath
{
internal class Program
{
private static void Main(string[] args)
{
var myFile = File.Create(@"C:\Application.log");
Trace.Listeners.Add(new TextWriterTraceListener(myFile));
Trace.WriteLine("Starting up");
var tracer = new Tracer();
tracer.TraceMeOnce();
Trace.WriteLine("Wrapping up");
Trace.Flush();
}
}
internal class Tracer
{
public void TraceMeAgain()
{
Trace.IndentLevel++;
Trace.WriteLine("Entering TraceMeAgain");
Trace.WriteLine("Doing some work.");
Trace.WriteLine("Exiting TraceMeAgain");
Trace.IndentLevel--;
}
public void TraceMeOnce()
{
Trace.IndentLevel++;
Trace.WriteLine("Entering TraceMeOnce");
Trace.WriteLine("Doing some work.");
TraceMeAgain();
Trace.WriteLine("Exiting TraceMeOnce");
Trace.IndentLevel--;
}
}
}
样本输出:
启动
输入TraceMeOnce
做一些工作。
输入TraceMeAgain
做一些工作。
退出TraceMeAgain
退出TraceMeOnce
包起来
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.