34 isStoppedAtBreakPointWithParameter breakPointParameter |
32 isStoppedAtBreakPointWithParameter breakPointParameter |
35 hideSupportCode contextInfoLabel resendButton |
33 hideSupportCode contextInfoLabel resendButton |
36 gotoDialogOpenerButton isStoppedInModalDialog selectorToDefine |
34 gotoDialogOpenerButton isStoppedInModalDialog selectorToDefine |
37 classToDefineIn gotoApplicationActionMethodButton |
35 classToDefineIn gotoApplicationActionMethodButton |
38 isStoppedInApplicationAction isStoppedAtStatementBreakpoint |
36 isStoppedInApplicationAction isStoppedAtStatementBreakpoint |
39 verboseBacktraceHolder' |
37 verboseBacktraceHolder keyboardMap' |
40 classVariableNames:'CachedDebugger CachedExclusive OpenDebuggers MoreDebuggingDetail |
38 classVariableNames:'CachedDebugger CachedExclusive OpenDebuggers MoreDebuggingDetail |
41 DebuggingDebugger DebuggingDebugger2 DebuggingContextWalk |
39 DebuggingDebugger DebuggingDebugger2 DebuggingContextWalk |
42 DefaultDebuggerBackgroundColor InitialNChainShown IgnoredHalts |
40 DefaultDebuggerBackgroundColor InitialNChainShown IgnoredHalts |
43 ShowThreadID LastIgnoreHaltNTimes LastIgnoreHaltDuration |
41 ShowThreadID LastIgnoreHaltNTimes LastIgnoreHaltDuration |
44 LastExtent LastOrigin RememberedCallChain DebuggingDebugger3 |
42 LastExtent LastOrigin RememberedCallChain DebuggingDebugger3 |
45 NumberOfDebuggers DebuggerOnMainDisplayOnly' |
43 NumberOfDebuggers DebuggerOnMainDisplayOnly' |
46 poolDictionaries:'' |
44 poolDictionaries:'' |
47 category:'Interface-Debugger' |
45 category:'Interface-Debugger' |
48 ! |
46 ! |
49 |
47 |
|
48 DebugView class instanceVariableNames:'defaultKeyboardMap' |
|
49 |
|
50 " |
|
51 The following class instance variables are inherited by this class: |
|
52 |
|
53 StandardSystemView - |
|
54 TopView - |
|
55 View - |
|
56 SimpleView - ClassResources DefaultFont |
|
57 DisplaySurface - |
|
58 GraphicsMedium - |
|
59 Object - |
|
60 " |
|
61 ! |
|
62 |
50 Object subclass:#IgnoredHaltOrBreakpoint |
63 Object subclass:#IgnoredHaltOrBreakpoint |
51 instanceVariableNames:'ignoreEndTime ignoreCount ignoreUntilShiftKeyPressed |
64 instanceVariableNames:'ignoreEndTime ignoreCount ignoreUntilShiftKeyPressed |
52 ignoredReceiverClasses ignoredProcesses |
65 ignoredReceiverClasses ignoredProcesses |
53 ignoredSendingClassAndSelectors' |
66 ignoredSendingClassAndSelectors' |
54 classVariableNames:'' |
67 classVariableNames:'' |
148 |
161 |
149 "Created: 20.3.1997 / 16:53:37 / cg" |
162 "Created: 20.3.1997 / 16:53:37 / cg" |
150 "Modified: 20.3.1997 / 16:54:32 / cg" |
163 "Modified: 20.3.1997 / 16:54:32 / cg" |
151 ! |
164 ! |
152 |
165 |
|
166 initializeDefaultKeyboardMap |
|
167 defaultKeyboardMap := KeyboardMap new. |
|
168 defaultKeyboardMap |
|
169 bindValue: #DebuggerContinue to: #F9; |
|
170 bindValue: #DebuggerNext to: #F8; |
|
171 bindValue: #DebuggerSend to: #F7. |
|
172 |
|
173 "Created: / 04-02-2017 / 22:46:23 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
|
174 "Modified: / 14-03-2017 / 16:40:37 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
|
175 ! |
|
176 |
153 reinitialize |
177 reinitialize |
154 "reinitialize after an image-restart" |
178 "reinitialize after an image-restart" |
155 |
179 |
156 self newDebugger |
180 self newDebugger |
|
181 ! ! |
|
182 |
|
183 !DebugView class methodsFor:'accessing'! |
|
184 |
|
185 defaultKeyboardMap |
|
186 defaultKeyboardMap isNil ifTrue:[ |
|
187 self initializeDefaultKeyboardMap. |
|
188 ]. |
|
189 ^ defaultKeyboardMap |
|
190 |
|
191 "Created: / 04-02-2017 / 22:46:12 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
157 ! ! |
192 ! ! |
158 |
193 |
159 !DebugView class methodsFor:'cleanup'! |
194 !DebugView class methodsFor:'cleanup'! |
160 |
195 |
161 lowSpaceCleanup |
196 lowSpaceCleanup |
1343 (Menu new fromLiteralArrayEncoding:(DebugView processMenuSpec)) startUp |
1378 (Menu new fromLiteralArrayEncoding:(DebugView processMenuSpec)) startUp |
1344 " |
1379 " |
1345 |
1380 |
1346 <resource: #menu> |
1381 <resource: #menu> |
1347 |
1382 |
1348 ^ |
1383 ^ |
1349 #(Menu |
1384 #(Menu |
1350 ( |
1385 ( |
1351 (MenuItem |
1386 (MenuItem |
1352 label: 'Continue' |
1387 label: 'Continue' |
1353 itemValue: doContinue |
1388 itemValue: doContinue |
|
1389 nameKey: Continue |
|
1390 shortcutKey: DebuggerContinue |
1354 ) |
1391 ) |
1355 (MenuItem |
1392 (MenuItem |
1356 label: 'Next (Line-Step)' |
1393 label: 'Next (Line-Step)' |
1357 itemValue: doNext |
1394 itemValue: doNext |
|
1395 shortcutKey: DebuggerNext |
1358 ) |
1396 ) |
1359 (MenuItem |
1397 (MenuItem |
1360 label: 'Step' |
1398 label: 'Step' |
1361 itemValue: doStep |
1399 itemValue: doStep |
|
1400 shortcutKey: DebuggerStep |
|
1401 ) |
|
1402 (MenuItem |
|
1403 label: 'Send' |
|
1404 itemValue: doSend |
|
1405 shortcutKey: DebuggerSend |
1362 ) |
1406 ) |
1363 (MenuItem |
1407 (MenuItem |
1364 label: '-' |
1408 label: '-' |
1365 ) |
1409 ) |
1366 (MenuItem |
1410 (MenuItem |
1367 label: 'After 5 Seconds' |
1411 label: 'After 5 Seconds' |
1368 submenu: |
1412 submenu: |
1369 (Menu |
1413 (Menu |
1370 ( |
1414 ( |
1371 (MenuItem |
1415 (MenuItem |
1372 label: 'Continue' |
1416 label: 'Continue' |
1373 itemValue: doContinueAfterDelay |
1417 itemValue: doContinueAfterDelay |
1962 ^ contextInspector |
2006 ^ contextInspector |
1963 ! |
2007 ! |
1964 |
2008 |
1965 inspectedProcess |
2009 inspectedProcess |
1966 ^ inspectedProcess |
2010 ^ inspectedProcess |
|
2011 ! |
|
2012 |
|
2013 keyboardMap |
|
2014 keyboardMap isNil ifTrue:[ |
|
2015 self initializeKeyboardMap. |
|
2016 ]. |
|
2017 ^keyboardMap |
|
2018 |
|
2019 " |
|
2020 WorkspaceApplication new open; yourself |
|
2021 " |
|
2022 |
|
2023 "Created: / 02-02-2017 / 00:16:22 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
|
2024 "Modified: / 04-02-2017 / 00:25:00 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
|
2025 ! ! |
|
2026 |
|
2027 !DebugView methodsFor:'accessing-keyboard mappings'! |
|
2028 |
|
2029 shortKeyStringForAction: aSymbol |
|
2030 | shortcut | |
|
2031 |
|
2032 shortcut := self shortKeyStringFor: aSymbol. |
|
2033 ^ shortcut isNil |
|
2034 ifTrue:[ '' ] |
|
2035 ifFalse:[ ' - ' , shortcut]. |
|
2036 |
|
2037 "Created: / 11-05-2017 / 21:04:01 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
1967 ! ! |
2038 ! ! |
1968 |
2039 |
1969 !DebugView methodsFor:'aspects'! |
2040 !DebugView methodsFor:'aspects'! |
1970 |
2041 |
1971 verboseBacktraceHolder |
2042 verboseBacktraceHolder |
3034 ]. |
3105 ]. |
3035 ^ nil |
3106 ^ nil |
3036 |
3107 |
3037 "Modified: 29.8.1995 / 23:38:54 / claus" |
3108 "Modified: 29.8.1995 / 23:38:54 / claus" |
3038 "Modified: 4.3.1997 / 01:54:03 / cg" |
3109 "Modified: 4.3.1997 / 01:54:03 / cg" |
|
3110 ! ! |
|
3111 |
|
3112 !DebugView methodsFor:'initialization'! |
|
3113 |
|
3114 initializeKeyboardMap |
|
3115 keyboardMap := self class defaultKeyboardMap copy. |
|
3116 device notNil ifTrue:[ |
|
3117 keyboardMap parent: device keyboardMap. |
|
3118 ]. |
|
3119 |
|
3120 "Created: / 02-02-2017 / 23:47:55 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
|
3121 "Modified: / 04-02-2017 / 22:47:02 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
3039 ! ! |
3122 ! ! |
3040 |
3123 |
3041 !DebugView methodsFor:'initialization & release'! |
3124 !DebugView methodsFor:'initialization & release'! |
3042 |
3125 |
3043 addToCurrentProject |
3126 addToCurrentProject |
3540 contextView middleButtonMenu:(self middleButtonMenu). |
3623 contextView middleButtonMenu:(self middleButtonMenu). |
3541 ! |
3624 ! |
3542 |
3625 |
3543 initializeContinueButtonIn:bpanel |
3626 initializeContinueButtonIn:bpanel |
3544 continueButton := Button |
3627 continueButton := Button |
3545 label:(resources string:'Continue') |
3628 label:(resources string:'Continue') , (self shortKeyStringForAction: #DebuggerContinue) |
3546 action:[ |
3629 action:[ |
3547 continueButton turnOffWithoutRedraw. |
3630 continueButton turnOffWithoutRedraw. |
3548 self doContinue |
3631 self doContinue |
3549 ] |
3632 ] |
3550 in:bpanel. |
3633 in:bpanel. |
3551 |
3634 |
3552 continueButton name:'continueButton'. |
3635 continueButton name:'continueButton'. |
3553 |
3636 |
3554 "Created: / 17.11.2001 / 20:57:34 / cg" |
3637 "Created: / 17-11-2001 / 20:57:34 / cg" |
|
3638 "Modified: / 17-05-2017 / 16:08:53 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
3555 ! |
3639 ! |
3556 |
3640 |
3557 initializeDefineButtonIn:bpanel |
3641 initializeDefineButtonIn:bpanel |
3558 defineButton := Button |
3642 defineButton := Button |
3559 label:(resources string:'Define') |
3643 label:(resources string:'Define') |
3623 ^ hpanel |
3707 ^ hpanel |
3624 ! |
3708 ! |
3625 |
3709 |
3626 initializeNextButtonIn:bpanel |
3710 initializeNextButtonIn:bpanel |
3627 nextButton := Button |
3711 nextButton := Button |
3628 label:(resources string:'Debug_Next') |
3712 label:(resources string:'Debug_Next') , (self shortKeyStringForAction: #DebuggerNext) |
3629 action:[ |
3713 action:[ |
3630 stepButton turnOff. |
3714 stepButton turnOff. |
3631 self doNext |
3715 self doNext |
3632 ] |
3716 ] |
3633 in:bpanel. |
3717 in:bpanel. |
3634 |
3718 |
3635 nextButton name:'nextButton'. |
3719 nextButton name:'nextButton'. |
3636 |
3720 |
3637 "Created: / 17.11.2001 / 20:59:38 / cg" |
3721 "Created: / 17-11-2001 / 20:59:38 / cg" |
|
3722 "Modified: / 11-05-2017 / 21:05:25 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
3638 ! |
3723 ! |
3639 |
3724 |
3640 initializeReportButtonIn:bpanel |
3725 initializeReportButtonIn:bpanel |
3641 reportButton := Button |
3726 reportButton := Button |
3642 label:(resources string:'Report by Mail...') |
3727 label:(resources string:'Report by Mail...') |
3694 "Created: / 17.11.2001 / 20:58:22 / cg" |
3779 "Created: / 17.11.2001 / 20:58:22 / cg" |
3695 ! |
3780 ! |
3696 |
3781 |
3697 initializeSendButtonIn:bpanel |
3782 initializeSendButtonIn:bpanel |
3698 sendButton := Button |
3783 sendButton := Button |
3699 label:(resources string:'Send') |
3784 label:(resources string:'Send') , (self shortKeyStringForAction: #DebuggerSend) |
3700 action:[ |
3785 action:[ |
3701 sendButton turnOff. |
3786 sendButton turnOff. |
3702 self doSend |
3787 self doSend |
3703 ] |
3788 ] |
3704 in:bpanel. |
3789 in:bpanel. |
3705 |
3790 |
3706 sendButton name:'sendButton'. |
3791 sendButton name:'sendButton'. |
3707 |
3792 |
3708 "Created: / 17.11.2001 / 21:01:20 / cg" |
3793 "Created: / 17-11-2001 / 21:01:20 / cg" |
|
3794 "Modified: / 11-05-2017 / 21:05:40 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
3709 ! |
3795 ! |
3710 |
3796 |
3711 initializeStepButtonIn:bpanel |
3797 initializeStepButtonIn:bpanel |
3712 stepButton := Button |
3798 stepButton := Button |
3713 label:(resources string:'Debug_Step') |
3799 label:(resources string:'Debug_Step') |
9565 |
9651 |
9566 !DebugView::IgnoredHaltOrBreakpoint methodsFor:'printing'! |
9652 !DebugView::IgnoredHaltOrBreakpoint methodsFor:'printing'! |
9567 |
9653 |
9568 printConditionOn:aStream |
9654 printConditionOn:aStream |
9569 ignoredSendingClassAndSelectors notEmptyOrNil ifTrue:[ |
9655 ignoredSendingClassAndSelectors notEmptyOrNil ifTrue:[ |
9570 aStream nextPutAll:(' if called from %1 » %2' |
9656 aStream nextPutAll:(' if called from %1 » %2' |
9571 bindWith:ignoredSendingClassAndSelectors first first |
9657 bindWith:ignoredSendingClassAndSelectors first first |
9572 with:ignoredSendingClassAndSelectors first second). |
9658 with:ignoredSendingClassAndSelectors first second). |
9573 ^ self. |
9659 ^ self. |
9574 ]. |
9660 ]. |
9575 ignoredProcesses notEmptyOrNil ifTrue:[ |
9661 ignoredProcesses notEmptyOrNil ifTrue:[ |