2015-01-09 21 views
0

我有2個項目A和B用C#編寫的VS. A被視爲主機applocation,B是一個dll。 A將在運行時由Assembly.LoadFrom和Call B的方法加載B. 我的問題是,當A正在執行B的dll時,如何調試B. 我有這兩個項目的源代碼。但是當我將B附加到進程A時,VS告訴我B正被另一個進程A使用。因此,我不能設置B代碼的斷點,因爲B的符號沒有加載。當B被A使用時,我怎樣才能調試B?謝謝!如何調試.net程序集當它被其他進程使用時

+0

打開B項目。項目+屬性,調試選項卡。選擇「啓動外部程序」並選擇A.exe。設置斷點並按F5。 –

回答

1

首先啓動可執行項目。然後附加到您的dll項目exe文件使用附加到進程選項。

在Visual Studio中,你可以做到這一點的,

點擊Debug菜單 - >之所以選擇附加到進程選項。

你會看到所有正在運行的進程列表,選擇合適的進程,並且你可以調試你的dll代碼。

+0

嗨,感謝您的回覆,我可以使用您的方法調試B,但是當B正在使用時,A不能調試B. – steven

+0

@steven一次只會有一個調試器附加進程。更好的方式來添加DLL項目到你的解決方案,但首先看到,它不應該混淆你剩餘的項目結構。 –

+0

我想通過用戶操作加載dll項目。像Unity3D,它讓你打開一個dll項目,然後從dll運行腳本並在運行時通過調試器調試腳本 – steven

相關問題