SharpDevelop и DebugBreak (клавиша F12)
В Delphi я привык нажимать клавишу F12 всякий раз, когда моя программа перестает отвечать на запросы, чтобы увидеть, что делает основной поток, главным образом для трассировки стека, а иногда и локальных переменных.
Сейчас я играю с SharpDevelop и не вижу ничего подобного. Это вообще возможно?
1 ответ
В SharpDevelop нет предопределенного сочетания клавиш для прерывания отладки. Он доступен в меню "Отладка", выбрав "Отладка - разрыв". Вы также можете нажать кнопку паузы на главной панели инструментов.
Если вы хотите сочетание клавиш, вам нужно отредактировать файл ICSharpCode.SharpDevelop.addin и добавить ярлык в меню "Разрыв". Ниже показан пункт меню "Разрыв" без сочетания клавиш и пункт меню "Продолжить", в качестве ярлыка которого используется клавиша 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>
Таким образом, вы можете добавить новый атрибут ярлыка для пункта меню Break, если хотите, отредактировав файл ICSharpCode.SharpDevelop.addin.