C# 如何从Visual Studio 2013调试.NET控制台应用程序

C# 如何从Visual Studio 2013调试.NET控制台应用程序,c#,.net,visual-studio,debugging,C#,.net,Visual Studio,Debugging,我创建了一个.NET4.5控制台应用程序,它是一个带有c的.exe文件,可以处理各种文件中的一些数据。整个过程在不到一秒钟的时间内完成。我想使用特定的输入文件在Visual Studio 2013调试器中逐步执行.exe的测试版本时遇到问题。文件名作为命令行参数传递。我无法执行附加到进程。。。因为流程完成得太快,无法连接到它。在这种情况下如何调试 请注意,我来自python世界,我尝试做的python等价物是python-m pdb pdb_script.py 谢谢你的建议 右键单击项目并转到属

我创建了一个.NET4.5控制台应用程序,它是一个带有c的.exe文件,可以处理各种文件中的一些数据。整个过程在不到一秒钟的时间内完成。我想使用特定的输入文件在Visual Studio 2013调试器中逐步执行.exe的测试版本时遇到问题。文件名作为命令行参数传递。我无法执行附加到进程。。。因为流程完成得太快,无法连接到它。在这种情况下如何调试

请注意,我来自python世界,我尝试做的python等价物是python-m pdb pdb_script.py


谢谢你的建议

右键单击项目并转到属性

然后选择左侧的调试选项卡

有一个框,您可以在其中输入所需的命令行参数,以便在调试模式下运行时使用

编辑:如果您询问如何启动调试器,请在代码中添加一些断点,然后右键单击解决方案中的项目并选择“调试”>“启动新实例”


或者,您可以右键单击并选择“设置为启动项目”,然后可以使用F5或UI顶部的“开始”按钮开始调试。

在Visual Studio中,您可以在启动调试会话之前添加命令行参数,方法是右键单击项目,选择“属性”,然后转到“调试”选项卡

然后可以在VisualStudio中使用f5启动它


如果这太麻烦了,因为您要大量更改参数,那么您可以做一些事情,比如在程序开始时向程序添加一个Console.ReadLine,这样您就可以更改附加调试器。您甚至可以有一个额外的用于调试的命令行参数,如果您传递该参数,该参数只会暂停以连接调试器。

在代码中添加以下行:

System.Diagnostics.Debugger.Break();

这将允许您在应用程序结束前对其进行调试。

您是否尝试过在代码中添加断点?单击要暂停的代码左侧的空白处以添加断点。为什么需要附加到正在运行的进程?只要从调试器本机运行它,假设您仍然有代码文件、项目、解决方案文件等。是的,我可以添加断点。我的问题是,我想运行以下步骤:1。以某种方式为.exe设置调试这是我不知道如何做的部分;2.从cmd窗口执行myprog.exe file1 file2;3.打开调试器并逐步完成代码。我知道我遗漏了什么,但我不知道是什么!在我看来,OP所问的问题是如何附加到进程,而不是如何向进程添加参数。@IgnacioSolerGarcia:他们所问的是如何调试需要向其传递参数的控制台应用程序。如果您在属性中传递参数,那么您可以像使用F5调试任何其他进程一样调试它。就我所看到的问题而言,OP询问的是如何附加到进程,而不是如何向进程添加参数。@IgnacioSolerGarcia重新阅读该问题时,您可能是对的。问题出在哪里还不完全清楚。我将用更多的建议进行编辑。虽然其他答案没有错,但这是我想到的与python-mpdb pdb_script.py习惯用法相匹配的用例。非常感谢。