Permalink
Browse files

Fleshing out debugger types.

  • Loading branch information...
1 parent da655d1 commit e55be7d2c9258570f91e0171eecfdcaf5fe96021 @benvanik committed May 24, 2015
Showing with 3,964 additions and 1,981 deletions.
  1. BIN assets/icons/pause.png
  2. BIN assets/icons/play.png
  3. BIN assets/icons/step_in.bmp
  4. BIN assets/icons/step_out.bmp
  5. BIN assets/icons/step_over.bmp
  6. BIN assets/icons/stop.png
  7. +10 −2 libxenia.vcxproj
  8. +417 −1,377 libxenia.vcxproj.filters
  9. +127 −2 src/Xenia.Debug.UI/MainWindow.Designer.cs
  10. +79 −0 src/Xenia.Debug.UI/MainWindow.cs
  11. +3 −0 src/Xenia.Debug.UI/MainWindow.resx
  12. +108 −47 src/Xenia.Debug.UI/Properties/Resources.Designer.cs
  13. +27 −5 src/Xenia.Debug.UI/Properties/Resources.resx
  14. BIN src/Xenia.Debug.UI/Resources/pause.png
  15. BIN src/Xenia.Debug.UI/Resources/play.png
  16. BIN src/Xenia.Debug.UI/Resources/step_in.bmp
  17. BIN src/Xenia.Debug.UI/Resources/step_out.bmp
  18. BIN src/Xenia.Debug.UI/Resources/step_over.bmp
  19. BIN src/Xenia.Debug.UI/Resources/stop.png
  20. +35 −1 src/Xenia.Debug.UI/Views/BreakpointsPanel.Designer.cs
  21. +12 −0 src/Xenia.Debug.UI/Views/BreakpointsPanel.cs
  22. +120 −0 src/Xenia.Debug.UI/Views/BreakpointsPanel.resx
  23. +35 −1 src/Xenia.Debug.UI/Views/CallstackPanel.Designer.cs
  24. +120 −0 src/Xenia.Debug.UI/Views/CallstackPanel.resx
  25. +25 −1 src/Xenia.Debug.UI/Views/CodeDocument.Designer.cs
  26. +120 −0 src/Xenia.Debug.UI/Views/CodeDocument.resx
  27. +52 −1 src/Xenia.Debug.UI/Views/FunctionsPanel.Designer.cs
  28. +12 −0 src/Xenia.Debug.UI/Views/FunctionsPanel.cs
  29. +120 −0 src/Xenia.Debug.UI/Views/FunctionsPanel.resx
  30. +35 −1 src/Xenia.Debug.UI/Views/ModulesPanel.Designer.cs
  31. +12 −0 src/Xenia.Debug.UI/Views/ModulesPanel.cs
  32. +120 −0 src/Xenia.Debug.UI/Views/ModulesPanel.resx
  33. +35 −1 src/Xenia.Debug.UI/Views/ThreadsPanel.Designer.cs
  34. +12 −0 src/Xenia.Debug.UI/Views/ThreadsPanel.cs
  35. +120 −0 src/Xenia.Debug.UI/Views/ThreadsPanel.resx
  36. +27 −0 src/Xenia.Debug.UI/Xenia.Debug.UI.csproj
  37. +9 −0 src/Xenia.Debug/Callstack.cs
  38. +46 −0 src/Xenia.Debug/Context.cs
  39. +102 −23 src/Xenia.Debug/Debugger.cs
  40. +22 −0 src/Xenia.Debug/Function.cs
  41. +0 −32 src/Xenia.Debug/FunctionList.cs
  42. +18 −0 src/Xenia.Debug/KernelObject.cs
  43. +12 −0 src/Xenia.Debug/MemoryView.cs
  44. +38 −1 src/Xenia.Debug/Module.cs
  45. +27 −0 src/Xenia.Debug/ModuleList.cs
  46. +35 −0 src/Xenia.Debug/Proto/xe/debug/proto/AccessViolationEvent.cs
  47. +0 −22 src/Xenia.Debug/Proto/xe/debug/proto/AddBreakpointRequest.cs
  48. +0 −22 src/Xenia.Debug/Proto/xe/debug/proto/AddBreakpointResponse.cs
  49. +34 −0 src/Xenia.Debug/Proto/xe/debug/proto/AddBreakpointsRequest.cs
  50. +22 −0 src/Xenia.Debug/Proto/xe/debug/proto/AddBreakpointsResponse.cs
  51. +22 −0 src/Xenia.Debug/Proto/xe/debug/proto/BreakRequest.cs
  52. +22 −0 src/Xenia.Debug/Proto/xe/debug/proto/BreakResponse.cs
  53. +21 −0 src/Xenia.Debug/Proto/xe/debug/proto/Breakpoint.cs
  54. +35 −0 src/Xenia.Debug/Proto/xe/debug/proto/BreakpointEvent.cs
  55. +13 −0 src/Xenia.Debug/Proto/xe/debug/proto/ContinueAction.cs
  56. +35 −0 src/Xenia.Debug/Proto/xe/debug/proto/ContinueRequest.cs
  57. +22 −0 src/Xenia.Debug/Proto/xe/debug/proto/ContinueResponse.cs
  58. +31 −0 src/Xenia.Debug/Proto/xe/debug/proto/GetModuleRequest.cs
  59. +32 −0 src/Xenia.Debug/Proto/xe/debug/proto/GetModuleResponse.cs
  60. +13 −1 src/Xenia.Debug/Proto/xe/debug/proto/ListBreakpointsResponse.cs
  61. +22 −0 src/Xenia.Debug/Proto/xe/debug/proto/ListModulesRequest.cs
  62. +34 −0 src/Xenia.Debug/Proto/xe/debug/proto/ListModulesResponse.cs
  63. +22 −0 src/Xenia.Debug/Proto/xe/debug/proto/ListThreadsRequest.cs
  64. +22 −0 src/Xenia.Debug/Proto/xe/debug/proto/ListThreadsResponse.cs
  65. +31 −0 src/Xenia.Debug/Proto/xe/debug/proto/Module.cs
  66. +3 −3 src/Xenia.Debug/Proto/xe/debug/proto/{Foo.cs → ModuleType.cs}
  67. +0 −22 src/Xenia.Debug/Proto/xe/debug/proto/RemoveBreakpointRequest.cs
  68. +0 −22 src/Xenia.Debug/Proto/xe/debug/proto/RemoveBreakpointResponse.cs
  69. +34 −0 src/Xenia.Debug/Proto/xe/debug/proto/RemoveBreakpointsRequest.cs
  70. +22 −0 src/Xenia.Debug/Proto/xe/debug/proto/RemoveBreakpointsResponse.cs
  71. +9 −3 src/Xenia.Debug/Proto/xe/debug/proto/RequestData.cs
  72. +11 −3 src/Xenia.Debug/Proto/xe/debug/proto/ResponseData.cs
  73. +14 −0 src/Xenia.Debug/Proto/xe/debug/proto/StepAction.cs
  74. +35 −0 src/Xenia.Debug/Proto/xe/debug/proto/StepRequest.cs
  75. +22 −0 src/Xenia.Debug/Proto/xe/debug/proto/StepResponse.cs
  76. +22 −0 src/Xenia.Debug/Proto/xe/debug/proto/StopRequest.cs
  77. +22 −0 src/Xenia.Debug/Proto/xe/debug/proto/StopResponse.cs
  78. +0 −25 src/Xenia.Debug/Proto/xe/debug/proto/StructTest.cs
  79. +0 −35 src/Xenia.Debug/Proto/xe/debug/proto/TableTest.cs
  80. +27 −0 src/Xenia.Debug/Proto/xe/debug/proto/Thread.cs
  81. +13 −0 src/Xenia.Debug/Proto/xe/debug/proto/ThreadType.cs
  82. +0 −22 src/Xenia.Debug/Proto/xe/debug/proto/UpdateBreakpointRequest.cs
  83. +0 −22 src/Xenia.Debug/Proto/xe/debug/proto/UpdateBreakpointResponse.cs
  84. +34 −0 src/Xenia.Debug/Proto/xe/debug/proto/UpdateBreakpointsRequest.cs
  85. +22 −0 src/Xenia.Debug/Proto/xe/debug/proto/UpdateBreakpointsResponse.cs
  86. +21 −0 src/Xenia.Debug/Proto/xe/debug/proto/XObject.cs
  87. +32 −1 src/Xenia.Debug/Thread.cs
  88. +32 −8 src/Xenia.Debug/Xenia.Debug.csproj
  89. +0 −1 src/xenia/cpu/debug_info.h
  90. +53 −9 src/xenia/debug/debugger.cc
  91. +0 −81 src/xenia/debug/function_data.h
  92. +14 −6 src/xenia/debug/proto/breakpoints.fbs
  93. +100 −56 src/xenia/debug/proto/breakpoints_generated.h
  94. +4 −0 src/xenia/debug/proto/common.fbs
  95. +31 −0 src/xenia/debug/proto/common_generated.h
  96. +46 −0 src/xenia/debug/proto/control.fbs
  97. +330 −0 src/xenia/debug/proto/control_generated.h
  98. +27 −24 src/xenia/debug/proto/messages.fbs
  99. +92 −98 src/xenia/debug/proto/messages_generated.h
  100. +31 −0 src/xenia/debug/proto/modules.fbs
  101. +196 −0 src/xenia/debug/proto/modules_generated.h
  102. +21 −0 src/xenia/debug/proto/threads.fbs
  103. +119 −0 src/xenia/debug/proto/threads_generated.h
View
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file not shown.
Binary file not shown.
Binary file not shown.
View
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
@@ -290,10 +290,13 @@
<ClInclude Include="src\xenia\cpu\xex_module.h" />
<ClInclude Include="src\xenia\debug\breakpoint.h" />
<ClInclude Include="src\xenia\debug\debugger.h" />
- <ClInclude Include="src\xenia\debug\function_data.h" />
<ClInclude Include="src\xenia\debug\function_trace_data.h" />
<ClInclude Include="src\xenia\debug\proto\breakpoints_generated.h" />
+ <ClInclude Include="src\xenia\debug\proto\common_generated.h" />
+ <ClInclude Include="src\xenia\debug\proto\control_generated.h" />
<ClInclude Include="src\xenia\debug\proto\messages_generated.h" />
+ <ClInclude Include="src\xenia\debug\proto\modules_generated.h" />
+ <ClInclude Include="src\xenia\debug\proto\threads_generated.h" />
<ClInclude Include="src\xenia\emulator.h" />
<ClInclude Include="src\xenia\gpu\gl4\blitter.h" />
<ClInclude Include="src\xenia\gpu\gl4\circular_buffer.h" />
@@ -419,7 +422,12 @@
<ItemGroup>
<None Include="src\xenia\cpu\backend\x64\x64_sequence.inl" />
<None Include="src\xenia\cpu\hir\opcodes.inl" />
+ <None Include="src\xenia\debug\proto\breakpoints.fbs" />
+ <None Include="src\xenia\debug\proto\common.fbs" />
+ <None Include="src\xenia\debug\proto\control.fbs" />
<None Include="src\xenia\debug\proto\messages.fbs" />
+ <None Include="src\xenia\debug\proto\modules.fbs" />
+ <None Include="src\xenia\debug\proto\threads.fbs" />
<None Include="src\xenia\gpu\register_table.inc" />
<None Include="src\xenia\kernel\util\export_table_post.inc" />
<None Include="src\xenia\kernel\util\export_table_pre.inc" />
@@ -540,4 +548,4 @@
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
-</Project>
+</Project>
View
Oops, something went wrong.
@@ -30,9 +30,21 @@ partial class MainWindow {
this.toolStripButton1 = new System.Windows.Forms.ToolStripButton();
this.statusStrip = new System.Windows.Forms.StatusStrip();
this.statusMessageLabel = new System.Windows.Forms.ToolStripStatusLabel();
+ this.controlToolStrip = new System.Windows.Forms.ToolStrip();
+ this.threadToolStripLabel = new System.Windows.Forms.ToolStripLabel();
+ this.threadToolStripComboBox = new System.Windows.Forms.ToolStripComboBox();
+ this.toolStripSeparator1 = new System.Windows.Forms.ToolStripSeparator();
+ this.continueToolStripButton = new System.Windows.Forms.ToolStripButton();
+ this.breakToolStripButton = new System.Windows.Forms.ToolStripButton();
+ this.stopToolStripButton = new System.Windows.Forms.ToolStripButton();
+ this.toolStripSeparator2 = new System.Windows.Forms.ToolStripSeparator();
+ this.stepInToolStripButton = new System.Windows.Forms.ToolStripButton();
+ this.stepOverToolStripButton = new System.Windows.Forms.ToolStripButton();
+ this.stepOutToolStripButton = new System.Windows.Forms.ToolStripButton();
this.mainMenuStrip.SuspendLayout();
this.mainToolStrip.SuspendLayout();
this.statusStrip.SuspendLayout();
+ this.controlToolStrip.SuspendLayout();
this.SuspendLayout();
//
// mainMenuStrip
@@ -82,14 +94,114 @@ partial class MainWindow {
// statusMessageLabel
//
this.statusMessageLabel.Name = "statusMessageLabel";
- this.statusMessageLabel.Size = new System.Drawing.Size(118, 17);
- this.statusMessageLabel.Text = "";
+ this.statusMessageLabel.Size = new System.Drawing.Size(0, 17);
+ //
+ // controlToolStrip
+ //
+ this.controlToolStrip.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
+ this.threadToolStripLabel,
+ this.threadToolStripComboBox,
+ this.toolStripSeparator1,
+ this.continueToolStripButton,
+ this.breakToolStripButton,
+ this.stopToolStripButton,
+ this.toolStripSeparator2,
+ this.stepInToolStripButton,
+ this.stepOverToolStripButton,
+ this.stepOutToolStripButton});
+ this.controlToolStrip.Location = new System.Drawing.Point(0, 49);
+ this.controlToolStrip.Name = "controlToolStrip";
+ this.controlToolStrip.Size = new System.Drawing.Size(1571, 25);
+ this.controlToolStrip.TabIndex = 6;
+ this.controlToolStrip.Text = "toolStrip1";
+ //
+ // threadToolStripLabel
+ //
+ this.threadToolStripLabel.Name = "threadToolStripLabel";
+ this.threadToolStripLabel.Size = new System.Drawing.Size(47, 22);
+ this.threadToolStripLabel.Text = "Thread:";
+ //
+ // threadToolStripComboBox
+ //
+ this.threadToolStripComboBox.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
+ this.threadToolStripComboBox.Name = "threadToolStripComboBox";
+ this.threadToolStripComboBox.Size = new System.Drawing.Size(250, 25);
+ //
+ // toolStripSeparator1
+ //
+ this.toolStripSeparator1.Name = "toolStripSeparator1";
+ this.toolStripSeparator1.Size = new System.Drawing.Size(6, 25);
+ //
+ // continueToolStripButton
+ //
+ this.continueToolStripButton.Image = global::Xenia.Debug.UI.Properties.Resources.play;
+ this.continueToolStripButton.ImageTransparentColor = System.Drawing.Color.Transparent;
+ this.continueToolStripButton.Name = "continueToolStripButton";
+ this.continueToolStripButton.Size = new System.Drawing.Size(76, 22);
+ this.continueToolStripButton.Text = "Continue";
+ this.continueToolStripButton.Click += new System.EventHandler(this.continueToolStripButton_Click);
+ //
+ // breakToolStripButton
+ //
+ this.breakToolStripButton.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image;
+ this.breakToolStripButton.Image = global::Xenia.Debug.UI.Properties.Resources.pause;
+ this.breakToolStripButton.ImageTransparentColor = System.Drawing.Color.Magenta;
+ this.breakToolStripButton.Name = "breakToolStripButton";
+ this.breakToolStripButton.Size = new System.Drawing.Size(23, 22);
+ this.breakToolStripButton.Text = "Break";
+ this.breakToolStripButton.Click += new System.EventHandler(this.breakToolStripButton_Click);
+ //
+ // stopToolStripButton
+ //
+ this.stopToolStripButton.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image;
+ this.stopToolStripButton.Image = global::Xenia.Debug.UI.Properties.Resources.stop;
+ this.stopToolStripButton.ImageTransparentColor = System.Drawing.Color.Magenta;
+ this.stopToolStripButton.Name = "stopToolStripButton";
+ this.stopToolStripButton.Size = new System.Drawing.Size(23, 22);
+ this.stopToolStripButton.Text = "Stop";
+ this.stopToolStripButton.Click += new System.EventHandler(this.stopToolStripButton_Click);
+ //
+ // toolStripSeparator2
+ //
+ this.toolStripSeparator2.Name = "toolStripSeparator2";
+ this.toolStripSeparator2.Size = new System.Drawing.Size(6, 25);
+ //
+ // stepInToolStripButton
+ //
+ this.stepInToolStripButton.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image;
+ this.stepInToolStripButton.Image = global::Xenia.Debug.UI.Properties.Resources.step_in;
+ this.stepInToolStripButton.ImageTransparentColor = System.Drawing.Color.Transparent;
+ this.stepInToolStripButton.Name = "stepInToolStripButton";
+ this.stepInToolStripButton.Size = new System.Drawing.Size(23, 22);
+ this.stepInToolStripButton.Text = "Step In";
+ this.stepInToolStripButton.Click += new System.EventHandler(this.stepInToolStripButton_Click);
+ //
+ // stepOverToolStripButton
+ //
+ this.stepOverToolStripButton.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image;
+ this.stepOverToolStripButton.Image = global::Xenia.Debug.UI.Properties.Resources.step_over;
+ this.stepOverToolStripButton.ImageTransparentColor = System.Drawing.Color.Transparent;
+ this.stepOverToolStripButton.Name = "stepOverToolStripButton";
+ this.stepOverToolStripButton.Size = new System.Drawing.Size(23, 22);
+ this.stepOverToolStripButton.Text = "Step Over";
+ this.stepOverToolStripButton.Click += new System.EventHandler(this.stepOverToolStripButton_Click);
+ //
+ // stepOutToolStripButton
+ //
+ this.stepOutToolStripButton.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image;
+ this.stepOutToolStripButton.Image = global::Xenia.Debug.UI.Properties.Resources.step_out;
+ this.stepOutToolStripButton.ImageTransparentColor = System.Drawing.Color.Transparent;
+ this.stepOutToolStripButton.Name = "stepOutToolStripButton";
+ this.stepOutToolStripButton.Size = new System.Drawing.Size(23, 22);
+ this.stepOutToolStripButton.Text = "Step Out";
+ this.stepOutToolStripButton.Click += new System.EventHandler(this.stepOutToolStripButton_Click);
//
// MainWindow
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(1571, 1103);
+ this.Controls.Add(this.controlToolStrip);
this.Controls.Add(this.statusStrip);
this.Controls.Add(this.mainToolStrip);
this.Controls.Add(this.mainMenuStrip);
@@ -103,6 +215,8 @@ partial class MainWindow {
this.mainToolStrip.PerformLayout();
this.statusStrip.ResumeLayout(false);
this.statusStrip.PerformLayout();
+ this.controlToolStrip.ResumeLayout(false);
+ this.controlToolStrip.PerformLayout();
this.ResumeLayout(false);
this.PerformLayout();
@@ -117,5 +231,16 @@ partial class MainWindow {
private System.Windows.Forms.StatusStrip statusStrip;
private System.Windows.Forms.ToolStripStatusLabel statusMessageLabel;
private WeifenLuo.WinFormsUI.Docking.DockPanel dockPanel;
+ private System.Windows.Forms.ToolStrip controlToolStrip;
+ private System.Windows.Forms.ToolStripLabel threadToolStripLabel;
+ private System.Windows.Forms.ToolStripComboBox threadToolStripComboBox;
+ private System.Windows.Forms.ToolStripSeparator toolStripSeparator1;
+ private System.Windows.Forms.ToolStripButton continueToolStripButton;
+ private System.Windows.Forms.ToolStripButton breakToolStripButton;
+ private System.Windows.Forms.ToolStripButton stopToolStripButton;
+ private System.Windows.Forms.ToolStripSeparator toolStripSeparator2;
+ private System.Windows.Forms.ToolStripButton stepInToolStripButton;
+ private System.Windows.Forms.ToolStripButton stepOverToolStripButton;
+ private System.Windows.Forms.ToolStripButton stepOutToolStripButton;
}
}
@@ -70,13 +70,19 @@ public partial class MainWindow : Form {
SetupDefaultLayout();
+ // For hotkeys.
+ KeyPreview = true;
+
Debugger.StateChanged += Debugger_StateChanged;
Debugger_StateChanged(this, Debugger.CurrentState);
+ Debugger.CurrentContext.Changed += CurrentContext_Changed;
+ CurrentContext_Changed();
Debugger.Attach();
}
private void Debugger_StateChanged(object sender, Debugger.State e) {
+ bool enabled = false;
switch (e) {
case Debugger.State.Idle:
statusMessageLabel.Text = "Idle";
@@ -86,11 +92,36 @@ public partial class MainWindow : Form {
break;
case Debugger.State.Attached:
statusMessageLabel.Text = "Attached";
+ enabled = true;
break;
case Debugger.State.Detached:
statusMessageLabel.Text = "Detached";
break;
}
+
+ controlToolStrip.Enabled = enabled;
+ }
+
+ private void CurrentContext_Changed() {
+ bool enabled = false;
+ switch (Debugger.CurrentContext.RunState) {
+ case RunState.Updating:
+ enabled = false;
+ break;
+ case RunState.Running:
+ enabled = false;
+ break;
+ case RunState.Paused:
+ enabled = true;
+ break;
+ }
+ breakToolStripButton.Enabled = !enabled;
+ continueToolStripButton.Enabled = enabled;
+ stepInToolStripButton.Enabled = enabled;
+ stepOverToolStripButton.Enabled = enabled;
+ stepOutToolStripButton.Enabled = enabled;
+
+ // TODO(benvanik): set thread info/etc.
}
private void SetupDefaultLayout() {
@@ -125,5 +156,53 @@ public partial class MainWindow : Form {
dockPanel.ResumeLayout(true, true);
}
+
+ protected override bool ProcessCmdKey(ref Message msg, Keys keyData) {
+ //if (keyData == (Keys.Control | Keys.F)) {
+ // MessageBox.Show("What the Ctrl+F?");
+ // return true;
+ //}
+ if (keyData == Keys.F11) {
+ stepInToolStripButton_Click(this, EventArgs.Empty);
+ return true;
+ } else if (keyData == Keys.F10) {
+ stepOverToolStripButton_Click(this, EventArgs.Empty);
+ return true;
+ } else if (keyData == (Keys.Shift | Keys.F11)) {
+ stepOutToolStripButton_Click(this, EventArgs.Empty);
+ return true;
+ } else if (keyData == (Keys.Pause)) {
+ breakToolStripButton_Click(this, EventArgs.Empty);
+ return true;
+ } else if (keyData == (Keys.Shift | Keys.F5)) {
+ stopToolStripButton_Click(this, EventArgs.Empty);
+ return true;
+ }
+ return base.ProcessCmdKey(ref msg, keyData);
+ }
+
+ private void continueToolStripButton_Click(object sender, EventArgs e) {
+ Debugger.Continue();
+ }
+
+ private void breakToolStripButton_Click(object sender, EventArgs e) {
+ Debugger.Break();
+ }
+
+ private void stopToolStripButton_Click(object sender, EventArgs e) {
+ Debugger.Stop();
+ }
+
+ private void stepInToolStripButton_Click(object sender, EventArgs e) {
+ Debugger.StepIn();
+ }
+
+ private void stepOverToolStripButton_Click(object sender, EventArgs e) {
+ Debugger.StepOver();
+ }
+
+ private void stepOutToolStripButton_Click(object sender, EventArgs e) {
+ Debugger.StepOut();
+ }
}
}
@@ -145,4 +145,7 @@
<metadata name="statusStrip.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>237, 17</value>
</metadata>
+ <metadata name="controlToolStrip.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+ <value>346, 17</value>
+ </metadata>
</root>
Oops, something went wrong.

0 comments on commit e55be7d

Please sign in to comment.