Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Conveniences #42

Merged
merged 74 commits into from
Mar 11, 2022
Merged

Conveniences #42

merged 74 commits into from
Mar 11, 2022

Conversation

LinqLover
Copy link
Collaborator

@LinqLover LinqLover commented Jan 26, 2022

This mega PR improves several conveniences aspects of the TraceDebugger. Amongst others, this includes:

  • feature: spawn trace (relates Epic: Spawn trace #29)
  • feature: toggle border context (closes Mechanism to hide bottom contexts #28)
  • feature: context search (closes Find context #44)
  • feature: "trace it" button in the normal debugger (closes Epic: Integration into the base system #36)
  • feature: navigation commands "jump to presence", "jump to sender", "jump to callee"
  • feature: snapshot inspectors & explorers
  • feature: run to selection
  • improve support for code evaluation in all code panes (syntax highlighting, access to instance variables)
  • working notifier window and proceed/abandon buttons, implement all remaining menu commands, clean up and rearrange menu items
  • stepping improvements (coroutines, EHS)
  • call tree convenience (scroll bar, display of return values, graying out dead contexts, adjust timeIndex when selecting context, support for type-to-filter)
  • preference to display stack list instead of stack tree
  • tracing improvements: fix tracing of coroutines and simulation (relates Support coroutines #14, closes Epic: Self-supporting tool #13); fix tracing of failed primitives

@LinqLover LinqLover added the enhancement New feature or request label Jan 26, 2022
Usage:

	self tdbHalt.
	self tdbNotify: 'Trace it!'.
- fix TDBCursor >> #enableTracingDuring: (unwrap context proxy)
- honor #shouldResumeFromDebugger
- auto-update button enablement
…e in another window

The trace and the memory are not (yet?) copied, just the cursor, and the process remains the same. Manage a simple reference list of views on the process to terminate it exactly once when closing the last debugger. Relates #29.

Fixes handling of bottomContexts when updating the context stack/the selected path.
Depends on ToolBuilder-Kernel-ct.151 (Trunk) and genericDropSourceCode.cs (not yet in Trunk).
Preview of genericDropSourceCode.cs, complements 9458e84.
- new debugger actions: #findContext, #findContextAgain, #findClass, #findClassAgain
- queries on TDBCursor
- revised + tested DFS/BFS protocol on TDBTrace
- Context >> #tdbSignature
- acceptance tests

Closes #44.
No need to redraw the entire world here.
LinqLover and others added 27 commits February 17, 2022 19:28
When selecting the sender of a historic context, this context will be displayed historically too. See TDBCursor>>#doSelect:.

This test falsely passed earlier because of the recently fixed bug in ct TraceDebugger>>#pcRange (see 75b395a).
Also robustize tooltips and icons against model errors
* Add TDBExplorer with common superclass TDBProxyHolder of TDBInspector
* Ensure that subsequent inspect/explore requests will spawn further TDB tools (=: proxy holders)
* Fix "add custom field" via menu and hide "edit field {g,s}etter for now
* New preference #shouldReplaceInspectorsWithExplorers to use explorers inside the debugger
* Test basic interaction paths with proxy holders, #shouldReplaceInspectorsWithExplorers, and "add selection als field"
- Add "more..." menu items
- Rename bottomContexts -> borderContexts
- Rename context{Stack,}*Menu
- Indicate current border contexts in menu item label
- If #shouldShowReturnValue is enabled, display an icon for the return value in the tree
- Clean-up: mv #{message,context}Icon*, remove duplicate contextLabel selector
- Increase robustness/debuggability by cathing errors during unsafe computation of frequent view properties
@LinqLover LinqLover merged commit 9f5d135 into main Mar 11, 2022
@LinqLover LinqLover deleted the conveniences branch March 11, 2022 13:34
@LinqLover LinqLover mentioned this pull request Mar 11, 2022
4 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
1 participant