2012-04-10 86 views
1

在我的.NET應用程序有一個窗口,你可以輸入代碼轉換成(腳本語言是C#,它們都通過反射運行)如何安裝調試器腳本

我需要在編譯的應用程序調試腳本的可能性就像在Visual Studio中一樣。是否有可能使用MS調試器或其他任何其他?如果是的話?

編輯:沒有Visual Studio可以嗎?

好吧,一般來說,就是這樣的: 用戶輸入代碼,按「運行」。 Script正在建立在.dll中。然後它通過反射運行(而不是通過methodInfo.Invoke())。

+0

請注意,.NET 4(.NET 4.5中已修復)存在一個錯誤,它可以防止在重新運行相同的代碼時重新評估斷點(但當然是在新的內存中)。 https://connect.microsoft.com/VisualStudio/feedback/details/684089/debugger-fails-to-re-evaluate-breakpoints-when-new-code-is-executed-in-a-transient-assembly – leppie 2012-04-10 08:30:07

回答

0

啓動您的應用程序,然後在Visual Studio中選擇「調試」>「附加到進程」,然後選擇您的進程。這肯定會讓你調試你的應用程序的預編譯部分。至於調試用戶輸入的腳本......我想這取決於你如何運行它們。

編輯:關於重讀您的問題,我想您問是否可以使用您的應用程序調試用戶代碼,而不是使用Visual Studio。如果是這樣,我不確定這是否可能。它讓我覺得很可能非常困難,但這取決於你是如何運行用戶代碼的。更多細節會有所幫助。

0

使用System.Diagnostics.Debugger.Break()停止運行並打開調試程序。 或System.Diagnostics.Debugger.Launch()啓動並將調試程序附加到進程。