File tree Expand file tree Collapse file tree 2 files changed +5
-26
lines changed Expand file tree Collapse file tree 2 files changed +5
-26
lines changed Original file line number Diff line number Diff line change 1- # Critical Architecture Notes
2-
3- ## Ruby Debugging Setup
4- - VS Code debugging is configured with rdbg (Ruby Debug) support
5- - Use the rdbg-wrapper script in scripts/ to avoid hardcoded paths
6- - Debug configurations available:
7- - "Debug Current Ruby File" - Debug the currently open Ruby file
8- - "Debug Current Test File" - Debug test files with proper load paths
9- - "Debug All Tests" - Debug the main test runner
10- - For interactive debugging with Pry, use the "Debug Current Test with Pry" task
11- - The Ruby LSP is configured for full language support features
12-
13- ## Debugging Gem Installation
14- - To use debugging features, install: `gem install debug pry`
15- - The debug gem is required for VS Code rdbg debugging
16- - Pry is used for interactive debugging tasks
17- - Native compilation may fail in nix environment due to missing headers
18- - Alternative: Use system Ruby for gem installation if nix environment has issues
19-
20- ## Codetracer Architecture
21- When the pure Ruby recorder traces a script that holds a reference to the
22- `PureRubyRecorder` instance in a local variable, the variable inspection code
23- would recursively serialise the tracer's internal state. This results in an
24- explosive amount of output and may appear as an infinite recursion when running
25- `examples/selective_tracing_pure.rb`. To avoid this, `load_variables` now skips
26- values that refer to the recorder or its `TraceRecord`.
Original file line number Diff line number Diff line change @@ -163,6 +163,11 @@ def test_gem_installation
163163 end
164164
165165 def test_pure_gem_installation
166+ # When the pure Ruby recorder traces a script that holds a reference to the
167+ # `PureRubyRecorder` instance in a local variable, the variable inspection code
168+ # would recursively serialise the tracer's internal state. This results in an
169+ # explosive amount of output and may appear as an infinite recursion when running
170+ # `examples/selective_tracing_pure.rb`. For this reason, we skip this test for now.
166171 skip
167172 run_gem_installation_test ( 'codetracer-pure-ruby-recorder' , 'codetracer_pure_ruby_recorder' )
168173 end
You can’t perform that action at this time.
0 commit comments