"myapp.exe has triggered a breakpoint" while debugging - afterwards slow symbol loading in Visual Studio 2015 Update 3
Asked Answered
C

1

2

We have a C++ project in STA mode which opens an C#/WPF lib that hosts an ESRI ArcEngine MapControl via WindowsFormsIntegration. This worked fine in Visual Studio 2013. Since we switched to VS2015 Update 3 starting the ArcEngine part while debugging (both in Debug and Release) is horribly slow after an mysterious breakpoint is hit in wntdll.pdb: "ArcEngineTestApp.exe has triggered a breakpoint."

enter image description here

There is no further explaination in the Output window (see full output). When I hit continue, the app continues loading symbols, but at least from now on it's definitly slower than in Visual Studio 2013. It takes VS 2015 15s to reach the breakpoint and 2:15m to complete the loading afterwards. VS 2013 shows the ArcEngine in 15-20s. See this screenshot for comparision (unfortunatly one can't copy the timestamp) enter image description here

When I hit break on the message, "wntdll.pdb not loaded" is shown:

enter image description here

Loading the pdb from the Microsoft server fails.

To demonstrate this we made a demo project (see below for details).

This only occurs while debugging. The compiled app works fine and fast.

What we have tried yet without success:

  • searched for the "has triggered a breakpoint" message without finding a similar issue.
  • Deactivated settings known for performance problems (UI Debugging Tools for XAML, Diagnostics Tools, IntelliTrace)
    • In Debugging / Symbols is no symbol server activated
    • There are no VS extensions installed that are known to have an impact on performance. (See below for full list)
    • Tried different ArcEngine versions (10.3.1 and 10.4)
    • Load the symbols from both MS and ESRI symbol server and cache them locally.
    • Delete all breakpoints
    • I completly reinstalled my PC. Now only one Visual Studio is installed (2015)
    • Tested on another PC (several VS installed) - same behavior

List of installed extensions:

  • ArcObjects SDK Integration for Desktop Addins
  • ArcObjects SDK Integration Utilities
  • Developer Analytics Tools
  • Format document on Save
  • Microsoft.NET Core Tools
  • Microsoft ASP.NET and Web Tools
  • Microsoft ASP.NET Web Frameworks and Tools
  • Microsoft Azure App Service Tools
  • Microsoft Connected Services
  • NuGet Package Manager for VS 2015
  • Productivity Power Tools 2015 (only timestamps in output window is activated)
  • TypeScript for Microsoft Visual Studio
  • Visual Studio Extensibillity Templates

VS 2015 Output (beginning with the start of the ArcEngine call).

To run the Demo project, you need a valid ArcEngine license and the ArcEngine SDK. Due to license reasons we can't publish the ESRI dlls. Copy them into the project folder "ArcEngineTestLibs".

Debugging settings in Visual Studio 2015: enter image description here

Collected answered 8/11, 2016 at 14:12 Comment(6)
do you disable the debugging options "Enable .NET Framework source stepping" and "Enable source server support"? Since it worked normally in VS2013, you could compare the settings with VS2015 under TOOLS->Options->Debugging.Semanteme
@Jack Zhai Both options are disabled in VS 2013 and 2015. I'll add a screenshot of the debugging settings.Collected
Please disable "require source files to exactly match the original version" and "Edie and Continue", as you said that it is the mix mode app, please check your project property->Configuration Properties->Debugging type under two VS versions. Based on the output messages, it couldn't find the pdb file, so you'd better to enable the Microsoft symbol server, and load the symbols manually in the Modules window during debug.Semanteme
@Jack Disabling those two options doesn't help. And I already tried to load the symbols from both MS and ESRI, which takes quite long and doesn't help either aftterwards. Forgot to mention that. I updated the question.Collected
I updated the question with more focus on the breakpoint, because loading slows down heavily after that.Collected
if the previous issue has been resolved, would you please make it as the answer? For the new issue, you could open a new case for it. I will also follow up it:)Semanteme
C
2

When I change the C++ project settings in Debugging / Debugger Type from "Auto" to "Managed Only", it's fast again as in VS 2013. Still wondering why.

Collected answered 9/11, 2016 at 12:3 Comment(2)
Disable the setting "Enable property evaluation and other implicit function evaluation" under the tools->options->debugger settings and check it again. The debugger type would be related to the real code you want to debug: msdn.microsoft.com/en-us/library/kcw4dzyf.aspxSemanteme
This really should be either a separate question or an edit to your original question.Ceruse

© 2022 - 2024 — McMap. All rights reserved.