0
在Delphi中,我習慣於按F12,只要我的程序變得無反應,看看主線程在做什麼,主要是爲了堆棧跟蹤,但有時也是局部變量。SharpDevelop和DebugBreak(F12鍵)
現在我正在玩SharpDevelop,看不到任何相似的東西。它有可能嗎?
在Delphi中,我習慣於按F12,只要我的程序變得無反應,看看主線程在做什麼,主要是爲了堆棧跟蹤,但有時也是局部變量。SharpDevelop和DebugBreak(F12鍵)
現在我正在玩SharpDevelop,看不到任何相似的東西。它有可能嗎?
SharpDevelop中沒有預定義的鍵盤快捷鍵用於調試中斷。它可以通過選擇Debug - Break從Debug菜單中獲得。您也可以按主工具欄中的暫停按鈕。
如果你想要一個鍵盤快捷方式,那麼你需要編輯ICSharpCode.SharpDevelop.addin文件並添加一個快捷方式到Break菜單。下面顯示了沒有鍵盤快捷鍵的斷點菜單項和以F5作爲快捷鍵的繼續菜單項。
<Condition name="DebuggerSupports" debuggersupports = "ExecutionControl">
<MenuItem id = "ExecutionControlSeparator" type = "Separator" />
<Condition name="IsProcessRunning" isprocessrunning = "True" isdebugging = "True" action = "Disable">
<MenuItem id = "Break"
label = "${res:XML.MainMenu.DebugMenu.Break}"
icon = "Icons.16x16.Debug.Break"
class = "ICSharpCode.SharpDevelop.Project.Commands.BreakDebuggingCommand"/>
</Condition>
<Condition name="IsProcessRunning" isprocessrunning = "False" isdebugging = "True" action = "Disable">
<MenuItem id = "Continue"
label = "${res:XML.MainMenu.DebugMenu.Continue}"
icon = "Icons.16x16.Debug.Continue"
shortcut = "F5"
class = "ICSharpCode.SharpDevelop.Project.Commands.ContinueDebuggingCommand"/>
</Condition>
</Condition>
所以,你可以爲斷點菜單項,如果你想通過編輯ICSharpCode.SharpDevelop.addin文件添加一個新的快捷方式屬性。
不,我的意思是應用程序內部的調試中斷不在IDE中 –
如果您在調試器下運行應用程序,則可以這樣做。或者你可以附加到過程,然後進入它。 –
這響鈴嗎?當按F12鍵並且正在調試焦點的應用程序時,Windows NT調用類似於DebugBreak()的函數,該函數執行硬編碼的斷點指令。集成的調試器會捕獲此指令生成的異常。 –