Golang gdb: Difference between revisions

From wikinotes
No edit summary
 
(2 intermediate revisions by the same user not shown)
Line 10: Line 10:
|}
|}
</blockquote><!-- Documentation -->
</blockquote><!-- Documentation -->
= Tutorials =
<blockquote>
{| class="wikitable"
|-
| cloudbees tutorial || https://www.cloudbees.com/blog/using-gdb-debugger-with-go
|-
|}
</blockquote><!-- Tutorials -->


= gc =
= gc =
<blockquote>
<blockquote>
{{ NOTE |
haven't quite gotten this working yet }}
If compiled with <code>gc</code> (default).
If compiled with <code>gc</code> (default).


Line 42: Line 48:
</syntaxhighlight>
</syntaxhighlight>
</blockquote><!-- gc -->
</blockquote><!-- gc -->
= gcc =
<blockquote>
</blockquote><!-- gcc -->
= clang =
<blockquote>
</blockquote><!-- clang -->

Latest revision as of 16:27, 26 June 2022

Instructions for debugging go with gdb.
Instructions vary by compiler

Documentation

go blog https://go.dev/doc/gdb

Tutorials

cloudbees tutorial https://www.cloudbees.com/blog/using-gdb-debugger-with-go

gc

If compiled with gc (default).

go build -gcflags "-N -l"  # build, disabling optimizations
gdb executable
#> run                    # begin running executable

Then it's regular gdb commands

# configure gdb for your execution
break file.go:123  # set breakpoint in file.go, line:123
layout src        # split-screen, displaying location in code

# begin running code
run

# at breakpoints, inspect your code
bt                 # show backtrace
p yourVar          # print a variable
l
s                  # step into method
n                  # next line
exit               # quit

gcc

clang