从winform应用程序调试外部项目

时间:2017-11-16 14:00:01

标签: c# .net winforms

我有两个独立的项目 XLSWriterUI(WinFormApp) XLSWriter(consoleapp)

XLSWriteUI启动没有任何问题。在XLSWriteUI应用程序中,有一个名为" Parse"的按钮。当您点击此按钮时,XLSWriter应用程序可执行文件的调用方式如下:

在XLSWriterUI中的Main.cs

 private void Parse_Click(object sender, EventArgs e)
        {
            // Enable waitcursor
            // ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
            Tabs_SetWaitCursor(Parse);

            try
            {
                Debug.Text = String.Empty;
                Debug.Refresh();

                // Create process
                // ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
                System.Diagnostics.Process proc = new System.Diagnostics.Process();
                // Set startup parameters
                proc.StartInfo.FileName = @"XLSWriter.exe";
                proc.StartInfo.Arguments = Tabs_GetParameters();
                proc.StartInfo.UseShellExecute = false;
                proc.StartInfo.RedirectStandardOutput = true;
                proc.StartInfo.CreateNoWindow = true;
                proc.OutputDataReceived += new DataReceivedEventHandler(StdOutReceiver);

                // Start process
                // ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
                proc.Start();
                proc.BeginOutputReadLine();
                proc.WaitForExit();
            }
            catch (Exception Ex)
            {
                // Whatever
                Debug.AppendText(Ex.Message);
            }
            // Cancel waitcursor
            // ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
            Tabs_CancelWaitCursor(Parse);
        }

如您所见,当您点击Parse-button时,会调用XLSWriter的可执行文件。我不想要这个。我希望能够在按下按钮时调试XLSWriter应用程序项目,以便我可以在Visual Studio中的代码中进出。

所以基本上,我想这样做: 通过visual studio启动这两个应用程序,以便它们运行, 在XLSWriter中设置断点, 当我单击XLSWriterUI中的按钮时,应该触发XLSWriter中的断点。

我该怎么做?

2 个答案:

答案 0 :(得分:0)

如果您的解决方案中同时包含两个项目,那么从解决方案使用设置启动项目功能并从多个启动选项中选择项目

答案 1 :(得分:0)

VS 2010: XLSWriter的开放式解决方案 Ctrl + Alt + P 附加到流程。

您需要在开始时设置一段睡眠时间,以便为连接正在运行的过程腾出空间。