equal
deleted
inserted
replaced
733 We move up the calling chain, skipping all intermediate Signal |
733 We move up the calling chain, skipping all intermediate Signal |
734 and Exception contexts, to present the context in which the error |
734 and Exception contexts, to present the context in which the error |
735 actually occured. |
735 actually occured. |
736 Just for your convenience :-)" |
736 Just for your convenience :-)" |
737 |
737 |
738 |con con2 found offset sel sel2 prev ex rcvr nMax idx| |
738 |con found offset sel prev ex rcvr nMax idx| |
739 |
739 |
740 "/ Transcript showCR:aContextArray. |
740 "/ Transcript showCR:aContextArray. |
741 |
741 |
742 nMax := aContextArray size. |
742 nMax := aContextArray size. |
743 nMax <= 1 ifTrue:[^ 1]. |
743 nMax <= 1 ifTrue:[^ 1]. |
878 ]. |
878 ]. |
879 ^ idx+1 |
879 ^ idx+1 |
880 ]. |
880 ]. |
881 ^ idx |
881 ^ idx |
882 ]. |
882 ]. |
883 |
|
884 "/ the above is all too hard-coded; |
|
885 "/ ask the method, if it thinks it should be skipped in the walkback. |
|
886 "/ as more methods get flagged, remove code from above. |
|
887 offset := 1. |
883 offset := 1. |
|
884 ]. |
|
885 |
|
886 "/ the above is all too hard-coded; |
|
887 "/ ask the method, if it thinks it should be skipped in the walkback. |
|
888 "/ as more methods get flagged, remove code from above. |
|
889 con := aContextArray at:offset ifAbsent:nil. |
|
890 |
|
891 [ |
|
892 con notNil |
|
893 and:[ con methodHome notNil |
|
894 and:[ con methodHome method notNil |
|
895 and:[ con methodHome method shouldBeSkippedInDebuggersWalkBack ]]] |
|
896 ] whileTrue:[ |
|
897 "/ Transcript showCR:con methodHome method. |
|
898 offset := offset + 1. |
888 con := aContextArray at:offset ifAbsent:nil. |
899 con := aContextArray at:offset ifAbsent:nil. |
889 |
900 ]. |
890 [ |
|
891 con notNil |
|
892 and:[ con methodHome notNil |
|
893 and:[ con methodHome method notNil |
|
894 and:[ con methodHome method shouldBeSkippedInDebuggersWalkBack ]]] |
|
895 ] whileTrue:[ |
|
896 Transcript showCR:con methodHome method. |
|
897 offset := offset + 1. |
|
898 con := aContextArray at:offset ifAbsent:nil. |
|
899 ]. |
|
900 ^ offset |
|
901 ]. |
|
902 |
|
903 con := found. |
|
904 |
901 |
905 " |
902 " |
906 got it; move up, skipping all intermediate Signal and |
903 got it; move up, skipping all intermediate Signal and |
907 Exception contexts |
904 Exception contexts |
908 " |
905 " |
4871 "show calling chain from aContext in the walk-back listview. |
4868 "show calling chain from aContext in the walk-back listview. |
4872 Ignore any non-interesting interrupt-context." |
4869 Ignore any non-interesting interrupt-context." |
4873 |
4870 |
4874 |con| |
4871 |con| |
4875 |
4872 |
|
4873 con := aContext. |
4876 verboseBacktrace ifFalse:[ |
4874 verboseBacktrace ifFalse:[ |
4877 con := aContext. |
|
4878 (con notNil and:[con selector == #threadSwitch:]) ifTrue:[ |
4875 (con notNil and:[con selector == #threadSwitch:]) ifTrue:[ |
4879 con := con sender. |
4876 con := con sender. |
4880 (con notNil and:[con selector == #timerInterrupt]) ifTrue:[ |
4877 (con notNil and:[con selector == #timerInterrupt]) ifTrue:[ |
4881 con := con sender. |
4878 con := con sender. |
4882 ]. |
4879 ]. |
6085 ! ! |
6082 ! ! |
6086 |
6083 |
6087 !DebugView class methodsFor:'documentation'! |
6084 !DebugView class methodsFor:'documentation'! |
6088 |
6085 |
6089 version |
6086 version |
6090 ^ '$Header: /cvs/stx/stx/libtool/DebugView.st,v 1.431 2008-05-27 10:24:49 cg Exp $' |
6087 ^ '$Header: /cvs/stx/stx/libtool/DebugView.st,v 1.432 2008-05-27 20:59:47 cg Exp $' |
6091 ! ! |
6088 ! ! |
6092 |
6089 |
6093 DebugView initialize! |
6090 DebugView initialize! |