2016-06-02 4 views
0

Ich versuche, eine Microsoft-Anwendung mithilfe von Just-in-Time-Debugger von VS zu debuggen. Zu einem bestimmten Zeitpunkt werde ich aufgefordert, die Datei crtexe.c ausfindig zu machen. Ich kann die Datei nicht finden. Irgendeine Idee, wie dies gelöst werden sollte (d. H. Sollte ich wissen, wo diese Datei ist)? Es scheint, dass ich, wenn ich diese Datei nicht finden kann, keine Haltepunkte setzen kann (VS sagt "Sie müssen crtexe.c finden, um die Quelle für den aktuellen Call-Stack-Frame zu sehen"). Was ist der Zweck der Datei crtexe.c, nur für meine eigene Neugierde?Just-in-Time-Debuggen in VS2015 - crtexe.c

(Es ist mein erstes Mal des Just-in-Time-Debugger und das ist, warum ich in Bezug auf crtexe.c usw. leicht ahnungslos bin)

Antwort

0

Der Header für crtexe.c sagt:

/*** 
*crtexe.c - Initialization for console EXE using CRT DLL 
* 
*  Copyright (c) Microsoft Corporation. All rights reserved. 
* 
*Purpose: 
*  This is the actual startup routine for apps linking to the CRT DLL. 
*  It calls the user's main routine [w]main() or [w]WinMain after 
*  performing C Run-Time Library initialization. 

Es klingt wie Sie eine Anwendung debuggen, die in einer älteren Version von Visual Studio erstellt wurde. crtexe.c war in dem C Runtime-Quellcode verfügbar, der in VC++ 2013 und früher enthalten ist. (Vielleicht nur kostenpflichtige Versionen?) Beispielsweise befand sich die Datei mit Visual Studio 2013 in C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\crt\src\crtexe.c. Ich sehe es nicht in Visual Studio 2015, daher vermute ich, dass es möglicherweise als Teil der Universal CRT Anstrengung umbenannt und/oder entfernt wurde.

Um den Quellcode zu crtexe.c anzuzeigen und diesen Code zu debuggen, müssen Sie daher die Version von VC++ installieren, mit der die Anwendung erstellt wurde.

Nachdem gesagt, ist es unwahrscheinlich, dass Sie diesen Quellcode benötigen. Der einzige Grund, warum Sie nach dem Quellspeicherort gefragt werden, ist, dass Sie diesen Code aus dem Aufruf-Stack anzeigen können. Normalerweise können Sie einfach auf Abbrechen klicken, und Sie können weiterhin Ihren eigenen Code sehen.