簡體   English   中英

調試當前項目啟動的過程

[英]Debug a process started by the current project

我的Visual Studio解決方案包含兩個C ++控制台項目“ A”和“ B”,其中“ A”以編程方式開始B(使用CreateProcess())。

如果在創建“ B”點之后開始逐步瀏覽“ A”,那么如何在“ B”項目中檢測斷點並停止在該點?

目前,我只是在“ B”中的特定位置貼上“ DebugBreak()”,但這很煩人,因為通常會花一些時間彈出該窗口,使您可以使用VS實例調試應用程序,並且經常不會顯示當前實例,因此我必須啟動另一個需要花費更長時間的實例。

我無法使用附加到進程,因為'B'啟動,執行其操作然后關閉太快。

是否有任何標記要自動附加的項目的示例,例如使我可以在main的開頭有一個斷點(類似於在main的開頭有DebugBreak)?

我在MSDN上發現了此注釋:

即使子項目在同一解決方案中,調試器也不會自動附加到由已調試過程啟動的子進程。 要調試子進程:

  • 啟動后附加到子進程。
  • -要么-
  • 配置Windows以在調試器的新實例中自動啟動子進程。

后者顯然可以通過某種注冊表干預來實現: 在調試器中自動啟動進程

Visual Studio團隊發布了一個Visual Studio擴展,該擴展允許自動將子進程附加到當前的調試器: 子進程調試Power Tool簡介

在Visual Studio 2013及更高版本的庫中可用。

因此,您可以使用Process.Start從項目A啟動項目B,它將自動將調試器附加到第二個過程。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM