DebugView.st
changeset 18605 bb64165d8742
parent 18601 370b48d708b1
child 18621 739516228796
equal deleted inserted replaced
18604:ce1d51dd5059 18605:bb64165d8742
  3102     "ignored here"
  3102     "ignored here"
  3103 
  3103 
  3104     ^ self
  3104     ^ self
  3105 !
  3105 !
  3106 
  3106 
       
  3107 additionalLocationInfo
       
  3108     "subclasses may provide additional info for the executionInfoLabel
       
  3109      (such as repreat count of an activity)"
       
  3110 
       
  3111     ^ ''
       
  3112 
       
  3113     "Created: / 20-02-2019 / 22:22:52 / Claus Gittinger"
       
  3114 !
       
  3115 
  3107 destroy
  3116 destroy
  3108     "closing the debugger implies an abort or continue"
  3117     "closing the debugger implies an abort or continue"
  3109 
  3118 
  3110     self destroyWithConfirmation:true
  3119     self destroyWithConfirmation:true
  3111 
  3120 
  3974 !
  3983 !
  3975 
  3984 
  3976 setLabelFor:errorDescriptionMessage in:aProcessOrNil orElseInLocation:aLocationString
  3985 setLabelFor:errorDescriptionMessage in:aProcessOrNil orElseInLocation:aLocationString
  3977     "set the window-title and the exceptionInfo label's string"
  3986     "set the window-title and the exceptionInfo label's string"
  3978     
  3987     
  3979     |l lines processNameOrNil pidOrNil osPidString colorUsed|
  3988     |l lines processNameOrNil pidOrNil osPidString colorUsed messageLine|
  3980 
  3989 
  3981     lines := errorDescriptionMessage asStringCollection.
  3990     lines := errorDescriptionMessage asStringCollection.
  3982     lines size > 1 ifTrue:[
  3991     lines size > 1 ifTrue:[
  3983         l := lines first
  3992         l := lines first
  3984     ] ifFalse:[
  3993     ] ifFalse:[
  4009         colorUsed := (isStoppedAtHaltOrBreakPoint == true) 
  4018         colorUsed := (isStoppedAtHaltOrBreakPoint == true) 
  4010                         ifTrue:[ Color orange ]
  4019                         ifTrue:[ Color orange ]
  4011                         ifFalse:[ Color red ].
  4020                         ifFalse:[ Color red ].
  4012         colorUsed := colorUsed contrastingColorFor:exceptionInfoLabel backgroundColor.                
  4021         colorUsed := colorUsed contrastingColorFor:exceptionInfoLabel backgroundColor.                
  4013 
  4022 
       
  4023         messageLine := lines first.
  4014         processNameOrNil notNil ifTrue:[
  4024         processNameOrNil notNil ifTrue:[
  4015             exceptionInfoLabel
  4025             exceptionInfoLabel
  4016                 label:(resources
  4026                 label:(resources
  4017                         string:'%1 in process %2 [%3]%4'
  4027                         string:'%1 in process %2 [%3]%4'
  4018                         with:(lines first withColor:colorUsed)
  4028                         with:(messageLine withColor:colorUsed)
  4019                         with:(processNameOrNil ? '')
  4029                         with:(processNameOrNil ? '')
  4020                         with:(pidOrNil ? '')
  4030                         with:(pidOrNil ? '')
  4021                         with:(osPidString ? '')).
  4031                         with:(osPidString ? '')).
  4022         ] ifFalse:[
  4032         ] ifFalse:[
  4023             exceptionInfoLabel
  4033             (messageLine includesString:aLocationString) ifTrue:[
  4024                 label:(resources
  4034                 exceptionInfoLabel
  4025                         string:'%1 in %2%3'
  4035                     label:(resources
  4026                         with:(lines first withColor:colorUsed)
  4036                             string:'%1%2'
  4027                         with:aLocationString
  4037                             with:(messageLine withColor:colorUsed)
  4028                         with:(osPidString ? '')).
  4038                             with:(self additionalLocationInfo)).
       
  4039             ] ifFalse:[
       
  4040                 exceptionInfoLabel
       
  4041                     label:(resources
       
  4042                             string:'%1 in %2%3%4'
       
  4043                             with:(messageLine withColor:colorUsed)
       
  4044                             with:aLocationString
       
  4045                             with:(self additionalLocationInfo)
       
  4046                             with:(osPidString ? '')).
       
  4047             ].
  4029         ].
  4048         ].
  4030         
  4049         
  4031         exceptionInfoLabel 
  4050         exceptionInfoLabel 
  4032             helpText:(((resources stringWithCRs:'Error description:\') withColor:Color gray)
  4051             helpText:(((resources stringWithCRs:'Error description:\') withColor:Color gray)
  4033                           ,(lines asStringWith:Character cr)).
  4052                           ,(lines asStringWith:Character cr)).
  4034     ].
  4053     ].
  4035 
  4054 
  4036     "Created: / 18-02-2019 / 12:02:11 / Claus Gittinger"
  4055     "Created: / 18-02-2019 / 12:02:11 / Claus Gittinger"
       
  4056     "Modified: / 20-02-2019 / 22:25:11 / Claus Gittinger"
  4037 ! !
  4057 ! !
  4038 
  4058 
  4039 !DebugView methodsFor:'interrupt handling'!
  4059 !DebugView methodsFor:'interrupt handling'!
  4040 
  4060 
  4041 contextInterrupt
  4061 contextInterrupt
  7172     ].
  7192     ].
  7173     ^ nil
  7193     ^ nil
  7174 !
  7194 !
  7175 
  7195 
  7176 haltSelectors
  7196 haltSelectors
  7177     ^ #( #'halt' #'halt:' #'breakPoint:' #'breakPoint:info:' #'break').
  7197     ^ #( #'halt' #'halt:' 
       
  7198          #'breakPoint:' #'breakPoint:info:' #'break'
       
  7199     ).
  7178 
  7200 
  7179     "Modified (format): / 27-01-2012 / 11:10:00 / cg"
  7201     "Modified (format): / 27-01-2012 / 11:10:00 / cg"
       
  7202     "Modified (format): / 20-02-2019 / 21:50:16 / Claus Gittinger"
  7180 !
  7203 !
  7181 
  7204 
  7182 interruptProcessWith:aBlock
  7205 interruptProcessWith:aBlock
  7183     "let inspected process do something, then update the context list"
  7206     "let inspected process do something, then update the context list"
  7184 
  7207