Files
Nim/tools/compiler.gdb
quantimnot 6f4bacff67 Extend and document compiler debugging utilities (#19841)
* Add two debugutils procs that native debuggers can break on use to
  execute commands when code of interest is being compiled.
* Add GDB and LLDB programs to disable and enable breakpoints and
  watchpoints when code of interest is being compiled.
* Extend the `intern.rst` docs regarding debugging the compiler.

Co-authored-by: quantimnot <quantimnot@users.noreply.github.com>
2022-06-10 20:40:08 +02:00

40 lines
1.1 KiB
Plaintext

# create a breakpoint on `debugutils.enteringDebugSection`
define enable_enteringDebugSection
break -function enteringDebugSection
# run these commands once breakpoint enteringDebugSection is hit
command
# enable all breakpoints and watchpoints
enable
# continue execution
cont
end
end
# create a breakpoint on `debugutils.exitingDebugSection` named exitingDebugSection
define enable_exitingDebugSection
break -function exitingDebugSection
# run these commands once breakpoint exitingDebugSection is hit
command
# disable all breakpoints and watchpoints
disable
# but enable the enteringDebugSection breakpoint
enable_enteringDebugSection
# continue execution
cont
end
end
# some commands can't be set until the process is running, so set an entry breakpoint
break -function NimMain
# run these commands once breakpoint NimMain is hit
command
# disable all breakpoints and watchpoints
disable
# but enable the enteringDebugSection breakpoint
enable_enteringDebugSection
# no longer need this breakpoint
delete -function NimMain
# continue execution
cont
end