This commit is contained in:
Ciro Santilli 六四事件 法轮功
2019-08-28 00:00:01 +00:00
parent 43ac94c316
commit 1313e55ff9

View File

@@ -16444,7 +16444,7 @@ monitor info qtree</pre>
<div class="sect3">
<h4 id="reverse-debug-the-emulator"><a class="anchor" href="#reverse-debug-the-emulator"></a><a class="link" href="#reverse-debug-the-emulator">17.7.1. Reverse debug the emulator</a></h4>
<div class="paragraph">
<p>While step debugging any complext program, you always end up feeling the need to step in reverse to reach the last call to some function before the failure point.</p>
<p>While step debugging any complext program, you always end up feeling the need to step in reverse to reach the last call to some function that was called before the failure point, in order to trace back the problem to the actual bug source.</p>
</div>
<div class="paragraph">
<p>While GDB "has" this feature, it is just too broken to be usable, and so we expose the amazing Mozilla RR tool conveniently in this repo: <a href="https://stackoverflow.com/questions/1470434/how-does-reverse-debugging-work/53063242#53063242" class="bare">https://stackoverflow.com/questions/1470434/how-does-reverse-debugging-work/53063242#53063242</a></p>
@@ -16489,6 +16489,28 @@ continue</pre>
<pre>rr replay</pre>
</div>
</div>
<div class="paragraph">
<p>Programs often tend to blow up in very low frames that use values passed in from higher frames. In those cases, remember that just like with forward debugging, you can&#8217;t just go:</p>
</div>
<div class="literalblock">
<div class="content">
<pre>up
up
up
reverse-next</pre>
</div>
</div>
<div class="paragraph">
<p>but rather, you must:</p>
</div>
<div class="literalblock">
<div class="content">
<pre>reverse-finish
reverse-finish
reverse-finish
reverse-next</pre>
</div>
</div>
</div>
<div class="sect3">
<h4 id="debug-gem5-python-scripts"><a class="anchor" href="#debug-gem5-python-scripts"></a><a class="link" href="#debug-gem5-python-scripts">17.7.2. Debug gem5 Python scripts</a></h4>