summaryrefslogtreecommitdiff
path: root/doc/debugging_with_gdb.html
diff options
context:
space:
mode:
Diffstat (limited to 'doc/debugging_with_gdb.html')
-rw-r--r--doc/debugging_with_gdb.html21
1 files changed, 19 insertions, 2 deletions
diff --git a/doc/debugging_with_gdb.html b/doc/debugging_with_gdb.html
index b893f931a..afaedf74c 100644
--- a/doc/debugging_with_gdb.html
+++ b/doc/debugging_with_gdb.html
@@ -9,6 +9,23 @@ Besides this overview you might want to consult the
<a href="http://sourceware.org/gdb/current/onlinedocs/gdb/">GDB manual</a>.
</i></p>
+<p>
+GDB does not understand Go programs well.
+The stack management, threading, and runtime contain aspects that differ
+enough from the execution model GDB expects that they can confuse
+the debugger, even when the program is compiled with gccgo.
+As a consequence, although GDB can be useful in some situations, it is
+not a reliable debugger for Go programs, particularly heavily concurrent ones.
+Moreover, it is not a priority for the Go project to address these issues, which
+are difficult.
+In short, the instructions below should be taken only as a guide to how
+to use GDB when it works, not as a guarantee of success.
+</p>
+
+<p>
+In time, a more Go-centric debugging architecture may be required.
+</p>
+
<h2 id="Introduction">Introduction</h2>
<p>
@@ -19,8 +36,8 @@ use to inspect a live process or a core dump.
</p>
<p>
-Pass the <code>'-s'</code> flag to the linker to omit the debug information
-(for example, <code>go build -ldflags "-s" prog.go</code>).
+Pass the <code>'-w'</code> flag to the linker to omit the debug information
+(for example, <code>go build -ldflags "-w" prog.go</code>).
</p>
<p>