Подпрограммы отладка
Отладочная версия библиотеки времени выполнения c предоставляет множество диагностических служб, выполните программы отладки более удобным и разрешить разработчикам:
Шаг непосредственно в функции времени выполнения во время отладки
Утверждения, ошибки и исключения решения
Отслеживание выделения кучи и предотвращение утечек памяти
Отладка сообщения пользователю отчет
Чтобы использовать эти подпрограммы _Отладка пометить.Все из этих подпрограмм не выполняют никаких действий в розничном построении приложения.Дополнительные сведения о том, как использовать новую debug, эти процедуры методы отладки CRT.
Отладочные версии подпрограмм библиотеки времени выполнения C
Процедура |
Применение |
Количество платформы .NET Framework |
---|---|---|
Вычисление выражения и создайте отчет об отладке, когда результат будет false |
||
Аналогично _ASSERTсодержит выражение, но в созданном отчете |
||
Убедитесь, что целостность блоков памяти, выделенных в куче отладки |
||
Устанавливает точку останова. |
Неприменимо.Для c# используйте стандартная функция PInvoke.Дополнительные сведения см. в разделе Примеры вызовов неуправляемого кода. |
|
Создание отчета об отладке с сообщением пользователя и отправить отчет до 3 возможных целей |
System:: Устранение неполадок:: отладка:: запись" System:: Устранение неполадок:: отладка:: Writeline" System:: Устранение неполадок:: отладка:: WriteIf" System:: Устранение неполадок:: отладка:: WriteLineIf |
|
Вызовите функцию для всех приложение-поставленная _CLIENT_BLOCK типы в куче |
Неприменимо.Для c# используйте стандартная функция PInvoke.Дополнительные сведения см. в разделе Примеры вызовов неуправляемого кода. |
|
Сбросьте все блоки памяти в отладочной куче, когда происходит утечка памяти существенно |
Неприменимо.Для c# используйте стандартная функция PInvoke.Дополнительные сведения см. в разделе Примеры вызовов неуправляемого кода. |
|
Убедитесь, что указанный блок памяти, находящийся в локальной куче и что он содержит допустимого типа блоков в куче отладки идентификатор |
Неприменимо.Для c# используйте стандартная функция PInvoke.Дополнительные сведения см. в разделе Примеры вызовов неуправляемого кода. |
|
Проверяет, что заданный указатель в локальной куче |
Неприменимо.Для c# используйте стандартная функция PInvoke.Дополнительные сведения см. в разделе Примеры вызовов неуправляемого кода. |
|
Убедитесь, что указанный диапазон памяти допустимым для чтения и записи |
Неприменимо.Для c# используйте стандартная функция PInvoke.Дополнительные сведения см. в разделе Примеры вызовов неуправляемого кода. |
|
Получение текущего состояния отладочной кучи и сохраните его в приложение-поставленное _CrtMemState Структура |
Неприменимо.Для c# используйте стандартная функция PInvoke.Дополнительные сведения см. в разделе Примеры вызовов неуправляемого кода. |
|
Сравнение состояний памяти для 2 значительно различий и возвратите результаты |
Неприменимо.Для c# используйте стандартная функция PInvoke.Дополнительные сведения см. в разделе Примеры вызовов неуправляемого кода. |
|
Сбросьте сведения об объектах в куче, поскольку указанная контрольная точка была создана или от начала выполнения программы |
Неприменимо.Для c# используйте стандартная функция PInvoke.Дополнительные сведения см. в разделе Примеры вызовов неуправляемого кода. |
|
Сбросьте данные заголовка отладки для указанного состояния памяти в пользователь-четкой форме |
||
Возвращает тип и подтип блока, связанные с заданным отладочной кучи указатель блока. |
Неприменимо.Для c# используйте стандартная функция PInvoke.Дополнительные сведения см. в разделе Примеры вызовов неуправляемого кода. |
|
Устанавливайте клиент-определенная функция распределения, циклический ее среды выполнения c процесс отладки выделения памяти |
Неприменимо.Для c# используйте стандартная функция PInvoke.Дополнительные сведения см. в разделе Примеры вызовов неуправляемого кода. |
|
Установите точку останова на порядковом номером выделения заданного объекта |
Неприменимо.Для c# используйте стандартная функция PInvoke.Дополнительные сведения см. в разделе Примеры вызовов неуправляемого кода. |
|
Восстановите или измените состояние _crtDbgFlag пометить для мониторинга расширения функциональности распределения распределения отладочной кучи |
Неприменимо.Для c# используйте стандартная функция PInvoke.Дополнительные сведения см. в разделе Примеры вызовов неуправляемого кода. |
|
Устанавливайте определяемую приложением функция, которая вызывается при каждом вызове функции создания дампа отладки, чтобы сбросить _CLIENT_BLOCK введите блоки памяти |
Неприменимо.Для c# используйте стандартная функция PInvoke.Дополнительные сведения см. в разделе Примеры вызовов неуправляемого кода. |
|
Укажите файл или поток, который будет использоваться в качестве адреса назначения для конкретного типа отчета by _CrtDbgReport |
Неприменимо.Для c# используйте стандартная функция PInvoke.Дополнительные сведения см. в разделе Примеры вызовов неуправляемого кода. |
|
Устанавливайте клиент-определенная функции отчетности путем ее выполнение среды выполнения c процесс отладки отчетов |
Неприменимо.Для c# используйте стандартная функция PInvoke.Дополнительные сведения см. в разделе Примеры вызовов неуправляемого кода. |
|
Задает или удаляет клиент-определенная функции отчетности путем ее выполнение среды выполнения c процесс отладки отчетов. |
Неприменимо.Для c# используйте стандартная функция PInvoke.Дополнительные сведения см. в разделе Примеры вызовов неуправляемого кода. |
|
Укажите общие назначения для конкретного типа отчета, созданного by _CrtDbgReport |
Неприменимо.Для c# используйте стандартная функция PInvoke.Дополнительные сведения см. в разделе Примеры вызовов неуправляемого кода. |
|
Отслеживание хода выполнения приложения, создавая отчет об отладке путем вызова _CrtDbgReport со строкой форматирования и переменное число аргументов.Предоставляет данные без исходного файла и номера линии. |
Неприменимо.Для c# используйте стандартная функция PInvoke.Дополнительные сведения см. в разделе Примеры вызовов неуправляемого кода. |
|
Аналогично _RPTn макросы, но предоставляющих номер имени файла и линии источника, в котором произошел запрос отчета |
Неприменимо.Для c# используйте стандартная функция PInvoke.Дополнительные сведения см. в разделе Примеры вызовов неуправляемого кода. |
|
Выберите указанное количество блоков памяти в куче с пробелом для заголовка отладки и перезаписать буферы |
Неприменимо.Для c# используйте стандартная функция PInvoke.Дополнительные сведения см. в разделе Примеры вызовов неуправляемого кода. |
|
Измените размер, указанный блок памяти в куче, развернув или заключать контракт, блок |
Неприменимо.Для c# используйте стандартная функция PInvoke.Дополнительные сведения см. в разделе Примеры вызовов неуправляемого кода. |
|
Освободите блок памяти в куче |
Неприменимо.Для c# используйте стандартная функция PInvoke.Дополнительные сведения см. в разделе Примеры вызовов неуправляемого кода. |
|
Создайте абсолютный или полный путь для заданного имени относительного пути, использование _malloc_dbg выделить память. |
||
Получает текущую рабочую папку, использование _malloc_dbg выделить память. |
Неприменимо.Для c# используйте стандартная функция PInvoke.Дополнительные сведения см. в разделе Примеры вызовов неуправляемого кода. |
|
Выберите блок памяти в куче с пробелом для заголовка отладки и перезаписать буферы |
Неприменимо.Для c# используйте стандартная функция PInvoke.Дополнительные сведения см. в разделе Примеры вызовов неуправляемого кода. |
|
Расчет размера блока памяти в куче |
Неприменимо.Для c# используйте стандартная функция PInvoke.Дополнительные сведения см. в разделе Примеры вызовов неуправляемого кода. |
|
Reallocate указанный блок памяти в куче, перемещение и изменение размера блока |
Неприменимо.Для c# используйте стандартная функция PInvoke.Дополнительные сведения см. в разделе Примеры вызовов неуправляемого кода. |
|
Дублирует string using _malloc_dbg выделить память. |
||
Создать имена можно использовать для создания временных файлов, использование _malloc_dbg выделить память. |
Неприменимо.Для c# используйте стандартная функция PInvoke.Дополнительные сведения см. в разделе Примеры вызовов неуправляемого кода. |
Процедуры отладки можно использовать для прохода по исходный код для большинстве других подпрограмм среды выполнения c в процессе отладки.Однако корпорация Майкрософт считает, что часть технологии будет собственническо и, следовательно, не содержит исходный код для этих подпрограмм.Большая часть этих подпрограмм, принадлежащий или группам обработки ошибок или с плавающей запятой, но несколько других также включены.В следующей таблице перечислены эти подпрограммы.
Подпрограммы времени выполнения языка c, которые недоступны в форме исходного кода
printf, _printf_l, wprintf, _wprintf_l, printf_s, _printf_s_l, wprintf_s, _wprintf_s_l* |
||
scanf, _scanf_l, wscanf, _wscanf_l, scanf_s, _scanf_s_l, wscanf_s, _wscanf_s_l* |
||
|
* Хотя исходный код доступен в большинстве случаев из этой подпрограммы, он совершает внутренний на другую подпрограмму, для которой исходный код не предоставляется.
Некоторые функции времени выполнения c и C++ работают отличающе вызывается из построения отладки приложения.(Следует отметить, построение отладки приложения может быть выполнено разделах defining _DEBUG пометить или путем связывания с отладочной версией библиотеки времени выполнения c.) Различия поведения обычно состоят из дополнительных функций и сведений, предоставляемых подпрограммой поддерживали процесс отладки.В следующей таблице перечислены эти подпрограммы.
Подпрограммы, которые ведут себя по-разному в отладочном построении приложения
C Прервать процедура |
C++ удалить Оператор |
C assert процедура |
C++ создать Оператор |
Дополнительные сведения об использовании версий отладка операторов C++ см. в предыдущей таблице. Использование кучи отладки из C++.