【问题标题】:How do I debug a filter program in Visual Studio 2010?如何在 Visual Studio 2010 中调试过滤器程序?
【发布时间】:2011-12-11 15:06:07
【问题描述】:
我正在尝试调试作为 C# 控制台应用程序编写的 filter 程序。该程序的用法类似于(从cmd.exe 执行):
C:\MyDir\>type inputfile.txt | myfilter.exe
我已经尝试了显而易见的方法:附加到cmd.exe 进程并在我的Main 函数中设置一个断点。软件运行,符号没有加载,调试器没有闯入,开发者不高兴。
在项目属性的Debug 下,可以设置命令行参数。我没有臭名昭著的命令行参数。我想将一个文件通过管道传输到STDIN。这有多难?
【问题讨论】:
标签:
c#
filter
stdin
cmd
visual-studio-debugging
【解决方案1】:
没关系,我只是不想今天......
您只需将Debugger.Launch() 调用添加到您的Main 方法:
static void Main(string[] args)
{
Debugger.Launch();
// rest of your program goes here
}
Windows 会很好,让你调试你的程序。我知道这一点 - 这是如何在设置项目中调试自定义操作...
【解决方案2】:
您需要附加到 myfilter.exe,从命令行启动它并不重要。但是,如果您在 Visual Studio 中打开了项目,您只需开始调试,它就会自动附加。是的,您可以传入命令行参数,使用相关参数启动 exe,然后附加或直接从 Visual Studio 转到控制台应用程序项目属性,调试部分中有一个命令行参数框。