mirror of https://github.com/golang/go.git
doc/diagnostics: update gc flags recommended for debugging
After 1.10, gcflags apply to only the immediate target. Change-Id: I3bf331c76041e7b533076cb2f3274e44aafff58a Reviewed-on: https://go-review.googlesource.com/84775 Reviewed-by: Heschi Kreinick <heschi@google.com>
This commit is contained in:
parent
1a9f27d503
commit
e676dbbdaf
|
|
@ -317,25 +317,25 @@ create confusion.
|
|||
<p><strong>How well do debuggers work with Go programs?</strong></p>
|
||||
|
||||
<p>
|
||||
As of Go 1.9, the DWARF info generated by the gc compiler is not complete
|
||||
and sometimes makes debugging harder. There is an ongoing effort to improve the
|
||||
DWARF information to help the debuggers display more accurate information.
|
||||
Until those improvements are in you may prefer to disable compiler
|
||||
optimizations during development for more accuracy. To disable optimizations,
|
||||
use the "-N -l" compiler flags. For example, the following command builds
|
||||
a package with no compiler optimizations:
|
||||
The <code>gc</code> compiler performs optimizations such as
|
||||
function inlining and variable registerization. These optimizations
|
||||
sometimes make debugging with debuggers harder. There is an ongoing
|
||||
effort to improve the quality of the DWARF information generated for
|
||||
optimized binaries. Until those improvements are available, we recommend
|
||||
disabling optimizations when building the code being debugged. The following
|
||||
command builds a package with no compiler optimizations:
|
||||
|
||||
<p>
|
||||
<pre>
|
||||
$ go build -gcflags="-N -l"
|
||||
$ go build -gcflags=all="-N -l"
|
||||
</pre>
|
||||
</p>
|
||||
|
||||
<p>
|
||||
As of Go 1.10, the Go binaries will have the required DWARF information
|
||||
for accurate debugging. To enable the DWARF improvements, use the following
|
||||
compiler flags and use GDB until Delve supports location lists:
|
||||
</p>
|
||||
As part of the improvement effort, Go 1.10 introduced a new compiler
|
||||
flag <code>-dwarflocationlists</code>. The flag causes the compiler to
|
||||
add location lists that helps debuggers work with optimized binaries.
|
||||
The following command builds a package with optimizations but with
|
||||
the DWARF location lists:
|
||||
|
||||
<p>
|
||||
<pre>
|
||||
|
|
|
|||
Loading…
Reference in New Issue