locked
Help for C++ compiler settings RRS feed

  • Question

  • I am back in the forums but can't find the forum for Windows Embedded Compact anymore. I hope to reach some people that can help here.

    When compiling C++ programs for WEC2013 (Windows Embedded Compact 2013) the .EXE file is generated. Additionally the .PDB is created that contains debug information. Unfortunately the .PDB contains incorrect information about function parameters on the ARM platform if optimization is enabled.

    The ARM calling convention (ABI) uses registers r0-r3 for the first 4 parameters. But the debugger finds the PDB as the parameters would be on the stack. If optimization is disabled, the compiler pushes the registers r0-r4 to the stack in the function prolog code. In that case the PDB information is correct. But the optimization omits this push operation.

    How can we instruct the compiler to create debug information that matches the generated code? Is there anything else than disabling optimization?

    • Moved by Sean LimingMVP Sunday, January 19, 2020 1:36 AM Windows CE question
    Saturday, January 18, 2020 8:22 AM

All replies

  • I will move this post to the CE forum.

    Sean Liming - Book Author: Starter Guide Windows 10 IoT Enterprise - www.annabooks.com / www.seanliming.com

    Sunday, January 19, 2020 1:36 AM