如何在c#中调试多个进程?

时间:2015-03-15 23:06:59

标签: c#

我有一个c#program1启动另一个c#program2.exe并在其中执行方法。我无法弄清楚如何调试它。以下是调用program1的代码:

  Task = new Process () ;

  Task.StartInfo.FileName = Executable ;
  Task.StartInfo.Arguments = AddQuotes (Msg) ;

  if (GeneralRegistry.GetWaitForExit ())
  { State.WaitForExit () ;
  }

  bool OK = Task.Start () ;

Task.StartInfo.Filename是执行的program2.exe的名称。 Task.StartInfo.Arguments是xml,包含另一个xml"模型的名称"文件。该模型定义了变量,方程和数据。 Program2.exe解析xml模型并执行它。

我正在使用VS12 Express。我尝试了Debug> Attach to Process并在启动后连接到Program2.exe。我点击了" Go" Program2.exe中的菜单项开始分析。怎么办?如何设置断点并逐步执行Program2.exe?我没有它的源代码。

但是,我确实有Program3的源代码。该程序以某种方式嵌入在Program2.exe中。 Program2.exe具有UI和输入,但核心基础工作由Program3完成。

1 个答案:

答案 0 :(得分:0)

如果这两个程序都在同一个解决方案中,你可以将exe附加到调试器并从程序1步入program2 dll。你是否在程序1中初始化程序2的对象?