I know this isn't exactly what you are talking about, but gdb has a related feature called xmethods: https://sourceware.org/gdb/onlinedocs/gdb/Xmethods-In-Python.html. And dwarf when emitted at a high enough level lets you single step linewise through inlined functions.

Neither of these really help with constexpr though.

On Sat, Feb 16, 2019, 2:13 PM Scott Wardle <swardle@gmail.com wrote:
Hi everyone, 

A few people in the SG14 group suggested I cross post this idea here as this is a debugging tools problem not just a Games/Trading/ low latency issue.  

Anyways I realized the other I have never seen a ISO paper that included the work debug in the title. This surprised me. Maybe they just don’t really go in the standard as it is more a quality issue than a wording one.  

My dream is to come up with a system where we can debug an optimized build like a debug build?  Some mixed compile time vs runtime debugger debugger system.  So even if the function is gone maybe there is some way to still step into it and see what the compiler saw.  With a JIT compiler I am surprised this does not happen today. If you step in to a java function you might as well debug the debug one or have a choice between the debug and optimized ones. In C++ I think this is a harder problem… but I can’t tell if it is imposable. 

This is kind of a high bar maybe we could just do some of the easier function first? If we really want normally programmers to use meta classes, write JSON reader and REGEX-ing at compile time… I would say sooner or later it might be a good idea to step though the code in a debugger.  

Anyways here is my blog post. 
http://www.swardle.com/sweb/blog5.html 

Scott
_______________________________________________
Tooling mailing list
Tooling@isocpp.open-std.org
http://www.open-std.org/mailman/listinfo/tooling