GP-5670: Errata in the Debugger Tutorial

This commit is contained in:
Dan
2025-05-15 13:06:52 +00:00
parent fa09e132a1
commit b18291178a
7 changed files with 17 additions and 18 deletions

View File

@@ -352,9 +352,9 @@ id="the-listings-are-not-in-sync-i.e.-they-do-not-move-together."
class="level3">
<h3>The listings are not in sync, i.e., they do not move together.</h3>
<p>First, check that synchronization is enabled. This is the default
behavior, but, still, check it first. In the top-right of the Dynamic
Listing is its local drop-down menu. Click it and check that
<strong>Auto-Sync Cursor with Static Listing</strong> is selected.</p>
behavior, but, still, check it first. In the <strong>Debugger →
Synchronization</strong> menu, check that <strong>Synchronize Static and
Dynamic Locations</strong> is selected.</p>
<p>If that does not work, check the top-left label of the Dynamic
Listing to see what module you are in. Also check the Debug Console
window. If you are in a system library, e.g., <code>ld-linux</code>,

View File

@@ -167,8 +167,7 @@ The re-use of connections and/or the use of multiple concurrent connections is *
First, check that synchronization is enabled.
This is the default behavior, but, still, check it first.
In the top-right of the Dynamic Listing is its local drop-down menu.
Click it and check that **Auto-Sync Cursor with Static Listing** is selected.
In the **Debugger &rarr; Synchronization** menu, check that **Synchronize Static and Dynamic Locations** is selected.
If that does not work, check the top-left label of the Dynamic Listing to see what module you are in.
Also check the Debug Console window.

View File

@@ -162,8 +162,7 @@ src="images/breakpoint-enable.png" alt="set breakpoint" /> Set
Breakpoint, press <strong><code>K</code></strong> on the keyboard, or
double-click the margin.</li>
<li>From the Breakpoints window, use the <strong>Set Breakpoint</strong>
dropdown to access the various breakpoint actions defined by
GDB.</li>
dropdown to access the various breakpoint actions defined by GDB.</li>
<li>From the Terminal window, use the GDB command, e.g.,
<code>break main</code>.</li>
</ol>

View File

@@ -239,11 +239,11 @@ caused the target to break. This only applies to snapshots that were
created because of an event, which is most.</li>
<li>The <strong>PC</strong> column gives the address of the next
instruction.</li>
<li>The <strong>Module</strong> column gives the name of the module
containing the PC.</li>
<li>The <strong>Function</strong> column gives the name of the function
containing the PC mapped to its static program database, if
available.</li>
<li>The <strong>Module</strong> column gives the name of the module
containing the PC.</li>
<li>The <strong>Description</strong> column describes the event that
generated the snapshot. This can be edited in the table, or by pressing
<strong><code>CTRL</code>-<code>SHIFT</code>-<code>N</code></strong> to

View File

@@ -128,8 +128,8 @@ The columns are:
* The **Event Thread** column indicates which thread caused the target to break.
This only applies to snapshots that were created because of an event, which is most.
* The **PC** column gives the address of the next instruction.
* The **Function** column gives the name of the function containing the PC mapped to its static program database, if available.
* The **Module** column gives the name of the module containing the PC.
* The **Function** column gives the name of the function containing the PC mapped to its static program database, if available.
* The **Description** column describes the event that generated the snapshot.
This can be edited in the table, or by pressing **`CTRL`-`SHIFT`-`N`** to mark interesting snapshots.

View File

@@ -55,9 +55,9 @@ Mappings</a></li>
<li><a href="#moving-knowledge-from-dynamic-to-static"
id="toc-moving-knowledge-from-dynamic-to-static">Moving Knowledge from
Dynamic to Static</a></li>
<li><a href="#exercise-export-and-map-ncurses"
id="toc-exercise-export-and-map-ncurses">Exercise: Export and Map
<code>ncurses</code></a></li>
<li><a href="#exercise-export-and-map-system-supplied-dso"
id="toc-exercise-export-and-map-system-supplied-dso">Exercise: Export
and Map <code>system-supplied DSO</code></a></li>
<li><a href="#exercise-cheat-like-the-devs"
id="toc-exercise-cheat-like-the-devs">Exercise: Cheat Like the
Devs</a></li>
@@ -276,7 +276,7 @@ anyway.</p></li>
<li><p>The table displays the <em>copy plan</em>. For a new program,
this will copy with an identical mapping of addresses, which is probably
the best plan, since the target system has already applied fixups. Do
not change any addresses, lest your corrupt references in the
not change any addresses, lest you corrupt references in the
copy.</p></li>
<li><p>Click <strong>Copy</strong>.</p></li>
<li><p>When prompted, name the program <code>libncurses</code>.</p></li>
@@ -296,8 +296,9 @@ libncurses</strong>.</li>
<li>Check the proposed mapping and click <strong>OK</strong>.</li>
</ol>
</section>
<section id="exercise-export-and-map-ncurses" class="level2">
<h2>Exercise: Export and Map <code>ncurses</code></h2>
<section id="exercise-export-and-map-system-supplied-dso"
class="level2">
<h2>Exercise: Export and Map <code>system-supplied DSO</code></h2>
<p>Repeat this technique for the “system-supplied DSO” module. In
practice, there is no real reason to do this, but this particular module
prevents you from using <strong>Import From File System</strong>.</p>

View File

@@ -144,7 +144,7 @@ For demonstration, we will walk through this second case, pretending we cannot l
1. It is probably best to include everything, though **Bytes** is the bare minimum.
1. The table displays the *copy plan*.
For a new program, this will copy with an identical mapping of addresses, which is probably the best plan, since the target system has already applied fixups.
Do not change any addresses, lest your corrupt references in the copy.
Do not change any addresses, lest you corrupt references in the copy.
1. Click **Copy**.
1. When prompted, name the program `libncurses`.
1. You may need to click the `termmines` tab in the Static Listing to get the UI to completely update.
@@ -157,7 +157,7 @@ Undoubtedly, we would like to map that new program into our dynamic session.
1. In the top pane of the Modules window, right-click `libncurses` and choose **Map to libncurses**.
1. Check the proposed mapping and click **OK**.
## Exercise: Export and Map `ncurses`
## Exercise: Export and Map `system-supplied DSO`
Repeat this technique for the "system-supplied DSO" module.
In practice, there is no real reason to do this, but this particular module prevents you from using **Import From File System**.