2016-08-08 108 views
0

在Delphi中,我習慣於按F12,只要我的程序變得無反應,看看主線程在做什麼,主要是爲了堆棧跟蹤,但有時也是局部變量。SharpDevelop和DebugBreak(F12鍵)

現在我正在玩SharpDevelop,看不到任何相似的東西。它有可能嗎?

回答

0

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文件添加一個新的快捷方式屬性。

+0

不,我的意思是應用程序內部的調試中斷不在IDE中 –

+0

如果您在調試器下運行應用程序,則可以這樣做。或者你可以附加到過程,然後進入它。 –

+0

這響鈴嗎?當按F12鍵並且正在調試焦點的應用程序時,Windows NT調用類似於DebugBreak()的函數,該函數執行硬編碼的斷點指令。集成的調試器會捕獲此指令生成的異常。 –