<div dir="ltr">On 7 June 2013 17:52, Dallman, John <span dir="ltr"><<a href="mailto:john.dallman@siemens.com" target="_blank">john.dallman@siemens.com</a>></span> wrote:<br><div class="gmail_extra"><div class="gmail_quote">
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">




<div lang="EN-GB" link="blue" vlink="purple">
<div><div class="im">
<p class="MsoNormal"><span style="color:rgb(31,73,125);font-family:Calibri,sans-serif;font-size:11pt">Is it possible for the debug information to mark all the instructions that arise from a</span><br></p></div>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">language statement as coming from that statement, even though the instructions may</span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">be widely scattered?</span></p></div></div></blockquote><div><br></div><div style>I'm not aware Dwarf supports statements, but it does support line and column information, so if the sources are accurate, you can get "statements" but not as a compiler would recognize, just as a string.</div>
<div style><br></div><div style>Line information is normally passed along optimizations and inlining, and this is why debugging at O2/O3 has the effect of jumping randomly through steps in the debugger. But the interaction of the debugger and the core is extremely complex: breakpoints don't break in the right place, you might break on the wrong thread, or not break at all, stepping doesn't change lines consistently, you might step out of a function without noticing, etc, etc.</div>
<div style><br></div><div style>Even if LLVM (or any compiler) kept all the debug information intact, it still wouldn't mean much for the debugger if it couldn't make heads or tails of that information as the core would chug along at random instructions.</div>
<div><br></div><div style>cheers,</div><div style>--renato</div></div></div></div>