<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On 28 March 2016 at 21:29, cy via Digitalmars-d <span dir="ltr"><<a href="mailto:digitalmars-d@puremagic.com" target="_blank">digitalmars-d@puremagic.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="">On Sunday, 27 March 2016 at 15:40:47 UTC, Marco Leise wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Is it just me? I've never heard of a programming environment, let alone a system programming language providing that information.<br>
</blockquote>
<br></span>
Well, not by default certainly. It is a bit pie-in-the-sky, but only because it slows everything down. It's got the same cost as profiling. Many languages, even C in some cases, have support for this. With gcc for instance, if you use -finstrument-functions then it calls __cyg_profile_func_enter before every function call and __cyg_profile_func_exit afterwards. That can be used to accumulate _totals_ of how many times a function was called (profiling) but it can also just dump the called functions in order.<br>
<br>
I certainly would be shocked as heck if a debugger could take non-instrumented code and add all that tracing and/or profiling stuff, but stranger things have happened in the murky realm of code debugging.<span class=""><br>
<br></span></blockquote><div><br></div><div>Most language agnostic features of gcc are possible in gdc too.  Coverage and instrumentation come for free.<br></div><div><br></div></div></div></div>