GoingNative 47: MSVC++ is* C++17 standard library feature complete!

Play GoingNative 47: MSVC++ is* C++17 standard library feature complete!

The Discussion

  • User profile image

    The * needs to also point out that this is only referring to library features, not core language features.

  • User profile image

    @bsf:Thanks! I updated the title.

  • User profile image

    Guys, do you know something about exception specification improvment in C++17 ?

    I mean, will callstack be added to exception that I could see callstack in "catch" block ?


    Thanks, Denis.

  • User profile image

    If you are inside of a catch block in a live debugging session, you can switch to the context from which the exception was thrown by running the following command in the immediate window:

    .cxr *vcruntime140d.dll!__current_exception_context()

    This is for a debug build with the debug Visual C++ libraries; if you are debugging and using the retail Visual C++ libraries, use vcruntime140.dll instead.  If you have statically linked the CRT, you can use your own DLL's or EXE's name.  You'll need to make sure symbols are loaded for the DLL before doing this.

    You can switch back to the current call stack by running .cxr with no arguments.

  • User profile image

    @amesMcNellis: Thanks for clarification, but I mean not particular solution for some envorement, but uniqe solution that will be supported by all compilers. This is a basic cause why an exception is not used in C++ instead of other languages.

    In C++ no different between signal of crash from OS or an exception. Both does not support getting context (stack traces), but exceptions was thought like stuff that can help. Actually exceptions is useless in C++, cause we does not know place where it was threw.

    May be you know something about improving exceptions in C++ ?

    P.S.: Compilers must help developers and all routine stuffs need be generated by compiler.

  • User profile image

    Someone would need to write a proposal for exceptions to portably capture callstacks in Standard C++. I am not aware of any pending proposals.

Add Your 2 Cents