Fix `VDBInstructionListApplication` update w.r.t running threads
Instruction list invalidates itself in various places in order to
always show up-to-date data, in particular currently executed
instruction. To do so it updates thread's stack so frame objects
have up-to-date PC. However, this fails when thread is running, so
check for that before updating.
--- a/VDBInstructionListApplication.st Tue Jun 11 11:40:12 2019 +0100
+++ b/VDBInstructionListApplication.st Tue Jun 11 11:44:32 2019 +0100
@@ -482,13 +482,14 @@
"/ First, force update of )cached) frames to get
"/ updated PC.
frame := self frame.
- frame notNil ifTrue:[
- frame thread stack
+ (frame notNil and:[frame thread isRunning not]) ifTrue:[
+ GDBError catch: [ frame thread stack ]
].
super delayedInvalidateInternalList
"Created: / 03-10-2018 / 12:10:01 / Jan Vrany <jan.vrany@fit.cvut.cz>"
- "Modified: / 10-06-2019 / 12:45:27 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Modified: / 12-06-2019 / 15:59:22 / jv"
+ "Modified: / 12-06-2019 / 16:26:22 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
delayedUpdateBasicBlocks