2016-06-02 6 views
0

Я пытаюсь отладить приложение Microsoft, используя отладчик Just in-time во время выполнения. В определенный момент мне предлагается найти файл crtexe.c. Кажется, я не могу найти файл. Любая идея, как это должно быть разрешено (т. Е. Должен ли я знать, где находится этот файл)? Похоже, что если я не могу найти этот файл, я не могу установить точки останова (VS говорит: «Вам нужно найти crtexe.c для просмотра источника для текущего стека стека вызовов»). Кроме того, только для моего собственного любопытства, какова цель файла crtexe.c?Just in Time Debugging in VS2015 - crtexe.c

(Это мой первый раз с помощью отладчика Просто в срок, и именно поэтому я немного невежественны относительно crtexe.c и т.д.)

ответ

0

Заголовок для crtexe.c говорит:

/*** 
*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. 

It похоже, что вы отлаживаете приложение, которое было создано в старой версии Visual Studio. crtexe.c был доступен в исходном коде Runtime, включенном в VC++ 2013 и ранее. (Возможно, только платные версии?) Например, в Visual Studio 2013 файл находился в C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\crt\src\crtexe.c. Я не вижу этого в Visual Studio 2015, поэтому я подозреваю, что он, возможно, был переименован и/или удален как часть усилия Universal CRT.

Поэтому, чтобы увидеть исходный код crtexe.c и отладить этот код, вам необходимо установить версию VC++, с которой было создано приложение.

Сказав это, вряд ли вам понадобится этот исходный код. Единственная причина, по которой вас спрашивают об исходном местоположении, - это удобство просмотра этого кода из стека вызовов. Обычно вы можете просто нажать «Отмена», и вы все равно сможете увидеть свой собственный код.