Поделиться через


Подпрограммы отладка

Отладочная версия библиотеки времени выполнения c предоставляет множество диагностических служб, выполните программы отладки более удобным и разрешить разработчикам:

  • Шаг непосредственно в функции времени выполнения во время отладки

  • Утверждения, ошибки и исключения решения

  • Отслеживание выделения кучи и предотвращение утечек памяти

  • Отладка сообщения пользователю отчет

Чтобы использовать эти подпрограммы _Отладка пометить.Все из этих подпрограмм не выполняют никаких действий в розничном построении приложения.Дополнительные сведения о том, как использовать новую debug, эти процедуры методы отладки CRT.

Отладочные версии подпрограмм библиотеки времени выполнения C

Процедура

Применение

Количество платформы .NET Framework

_ASSERT

Вычисление выражения и создайте отчет об отладке, когда результат будет false

System:: Устранение неполадок:: отладка:: Assert

_ASSERTE

Аналогично _ASSERTсодержит выражение, но в созданном отчете

System:: Устранение неполадок:: отладка:: Assert

_CrtCheckMemory

Убедитесь, что целостность блоков памяти, выделенных в куче отладки

System:: Устранение неполадок:: PerformanceCounter

_CrtDbgBreak

Устанавливает точку останова.

Неприменимо.Для c# используйте стандартная функция PInvoke.Дополнительные сведения см. в разделе Примеры вызовов неуправляемого кода.

_CrtDbgReport, _CrtDbgReportW

Создание отчета об отладке с сообщением пользователя и отправить отчет до 3 возможных целей

System:: Устранение неполадок:: отладка:: запись" System:: Устранение неполадок:: отладка:: Writeline" System:: Устранение неполадок:: отладка:: WriteIf" System:: Устранение неполадок:: отладка:: WriteLineIf

_CrtDoForAllClientObjects

Вызовите функцию для всех приложение-поставленная _CLIENT_BLOCK типы в куче

Неприменимо.Для c# используйте стандартная функция PInvoke.Дополнительные сведения см. в разделе Примеры вызовов неуправляемого кода.

_CrtDumpMemoryLeaks

Сбросьте все блоки памяти в отладочной куче, когда происходит утечка памяти существенно

Неприменимо.Для c# используйте стандартная функция PInvoke.Дополнительные сведения см. в разделе Примеры вызовов неуправляемого кода.

_CrtIsMemoryBlock

Убедитесь, что указанный блок памяти, находящийся в локальной куче и что он содержит допустимого типа блоков в куче отладки идентификатор

Неприменимо.Для c# используйте стандартная функция PInvoke.Дополнительные сведения см. в разделе Примеры вызовов неуправляемого кода.

_CrtIsValidHeapPointer

Проверяет, что заданный указатель в локальной куче

Неприменимо.Для c# используйте стандартная функция PInvoke.Дополнительные сведения см. в разделе Примеры вызовов неуправляемого кода.

_CrtIsValidPointer

Убедитесь, что указанный диапазон памяти допустимым для чтения и записи

Неприменимо.Для c# используйте стандартная функция PInvoke.Дополнительные сведения см. в разделе Примеры вызовов неуправляемого кода.

_CrtMemCheckpoint

Получение текущего состояния отладочной кучи и сохраните его в приложение-поставленное _CrtMemState Структура

Неприменимо.Для c# используйте стандартная функция PInvoke.Дополнительные сведения см. в разделе Примеры вызовов неуправляемого кода.

_CrtMemDifference

Сравнение состояний памяти для 2 значительно различий и возвратите результаты

Неприменимо.Для c# используйте стандартная функция PInvoke.Дополнительные сведения см. в разделе Примеры вызовов неуправляемого кода.

_CrtMemDumpAllObjectsSince

Сбросьте сведения об объектах в куче, поскольку указанная контрольная точка была создана или от начала выполнения программы

Неприменимо.Для c# используйте стандартная функция PInvoke.Дополнительные сведения см. в разделе Примеры вызовов неуправляемого кода.

_CrtMemDumpStatistics

Сбросьте данные заголовка отладки для указанного состояния памяти в пользователь-четкой форме

System:: Устранение неполадок:: PerformanceCounter

_CrtReportBlockType

Возвращает тип и подтип блока, связанные с заданным отладочной кучи указатель блока.

Неприменимо.Для c# используйте стандартная функция PInvoke.Дополнительные сведения см. в разделе Примеры вызовов неуправляемого кода.

_CrtSetAllocHook

Устанавливайте клиент-определенная функция распределения, циклический ее среды выполнения c процесс отладки выделения памяти

Неприменимо.Для c# используйте стандартная функция PInvoke.Дополнительные сведения см. в разделе Примеры вызовов неуправляемого кода.

_CrtSetBreakAlloc

Установите точку останова на порядковом номером выделения заданного объекта

Неприменимо.Для c# используйте стандартная функция PInvoke.Дополнительные сведения см. в разделе Примеры вызовов неуправляемого кода.

_CrtSetDbgFlag

Восстановите или измените состояние _crtDbgFlag пометить для мониторинга расширения функциональности распределения распределения отладочной кучи

Неприменимо.Для c# используйте стандартная функция PInvoke.Дополнительные сведения см. в разделе Примеры вызовов неуправляемого кода.

_CrtSetDumpClient

Устанавливайте определяемую приложением функция, которая вызывается при каждом вызове функции создания дампа отладки, чтобы сбросить _CLIENT_BLOCK введите блоки памяти

Неприменимо.Для c# используйте стандартная функция PInvoke.Дополнительные сведения см. в разделе Примеры вызовов неуправляемого кода.

_CrtSetReportFile

Укажите файл или поток, который будет использоваться в качестве адреса назначения для конкретного типа отчета by _CrtDbgReport

Неприменимо.Для c# используйте стандартная функция PInvoke.Дополнительные сведения см. в разделе Примеры вызовов неуправляемого кода.

_CrtSetReportHook

Устанавливайте клиент-определенная функции отчетности путем ее выполнение среды выполнения c процесс отладки отчетов

Неприменимо.Для c# используйте стандартная функция PInvoke.Дополнительные сведения см. в разделе Примеры вызовов неуправляемого кода.

_CrtSetReportHook2, _CrtSetReportHookW2

Задает или удаляет клиент-определенная функции отчетности путем ее выполнение среды выполнения c процесс отладки отчетов.

Неприменимо.Для c# используйте стандартная функция PInvoke.Дополнительные сведения см. в разделе Примеры вызовов неуправляемого кода.

_CrtSetReportMode

Укажите общие назначения для конкретного типа отчета, созданного by _CrtDbgReport

Неприменимо.Для c# используйте стандартная функция PInvoke.Дополнительные сведения см. в разделе Примеры вызовов неуправляемого кода.

_RPT [0,1,2,3,4]

Отслеживание хода выполнения приложения, создавая отчет об отладке путем вызова _CrtDbgReport со строкой форматирования и переменное число аргументов.Предоставляет данные без исходного файла и номера линии.

Неприменимо.Для c# используйте стандартная функция PInvoke.Дополнительные сведения см. в разделе Примеры вызовов неуправляемого кода.

_RPTF [0,1,2,3,4]

Аналогично _RPTn макросы, но предоставляющих номер имени файла и линии источника, в котором произошел запрос отчета

Неприменимо.Для c# используйте стандартная функция PInvoke.Дополнительные сведения см. в разделе Примеры вызовов неуправляемого кода.

_calloc_dbg

Выберите указанное количество блоков памяти в куче с пробелом для заголовка отладки и перезаписать буферы

Неприменимо.Для c# используйте стандартная функция PInvoke.Дополнительные сведения см. в разделе Примеры вызовов неуправляемого кода.

_expand_dbg

Измените размер, указанный блок памяти в куче, развернув или заключать контракт, блок

Неприменимо.Для c# используйте стандартная функция PInvoke.Дополнительные сведения см. в разделе Примеры вызовов неуправляемого кода.

_free_dbg

Освободите блок памяти в куче

Неприменимо.Для c# используйте стандартная функция PInvoke.Дополнительные сведения см. в разделе Примеры вызовов неуправляемого кода.

_fullpath_dbg, _wfullpath_dbg

Создайте абсолютный или полный путь для заданного имени относительного пути, использование _malloc_dbg выделить память.

System:: Ввода-вывода:: файл:: Создать

_getcwd_dbg, _wgetcwd_dbg

Получает текущую рабочую папку, использование _malloc_dbg выделить память.

Неприменимо.Для c# используйте стандартная функция PInvoke.Дополнительные сведения см. в разделе Примеры вызовов неуправляемого кода.

_malloc_dbg

Выберите блок памяти в куче с пробелом для заголовка отладки и перезаписать буферы

Неприменимо.Для c# используйте стандартная функция PInvoke.Дополнительные сведения см. в разделе Примеры вызовов неуправляемого кода.

_msize_dbg

Расчет размера блока памяти в куче

Неприменимо.Для c# используйте стандартная функция PInvoke.Дополнительные сведения см. в разделе Примеры вызовов неуправляемого кода.

_realloc_dbg

Reallocate указанный блок памяти в куче, перемещение и изменение размера блока

Неприменимо.Для c# используйте стандартная функция PInvoke.Дополнительные сведения см. в разделе Примеры вызовов неуправляемого кода.

_strdup_dbg, _wcsdup_dbg

Дублирует string using _malloc_dbg выделить память.

System:: строка:: Clone

_tempnam_dbg, _wtempnam_dbg

Создать имена можно использовать для создания временных файлов, использование _malloc_dbg выделить память.

Неприменимо.Для c# используйте стандартная функция PInvoke.Дополнительные сведения см. в разделе Примеры вызовов неуправляемого кода.

Процедуры отладки можно использовать для прохода по исходный код для большинстве других подпрограмм среды выполнения c в процессе отладки.Однако корпорация Майкрософт считает, что часть технологии будет собственническо и, следовательно, не содержит исходный код для этих подпрограмм.Большая часть этих подпрограмм, принадлежащий или группам обработки ошибок или с плавающей запятой, но несколько других также включены.В следующей таблице перечислены эти подпрограммы.

Подпрограммы времени выполнения языка c, которые недоступны в форме исходного кода

acos, acosf

_fpclass

_nextafter

asin

_fpieee_flt

плен

atan, atan2

_fpreset

printf, _printf_l, wprintf, _wprintf_l, printf_s, _printf_s_l, wprintf_s, _wprintf_s_l*

_cabs

frexp

_scalb

ceil

_hypot

scanf, _scanf_l, wscanf, _wscanf_l, scanf_s, _scanf_s_l, wscanf_s, _wscanf_s_l*

_chgsign, _chgsignl

_isnan

setjmp

_clear87, _clearfp

_j0

sin

_control87, _controlfp, __control87_2

_j1

sinh

_copysign, _copysignl

_jn

sqrt

cos

ldexp

_status87, _statusfp

cosh

log

tan

EXP

log10

tanh

fabs

_logb

_y0

_finite

longjmp

_y1

floor

_matherr

_yn

fmod

modf

 

* Хотя исходный код доступен в большинстве случаев из этой подпрограммы, он совершает внутренний на другую подпрограмму, для которой исходный код не предоставляется.

Некоторые функции времени выполнения c и C++ работают отличающе вызывается из построения отладки приложения.(Следует отметить, построение отладки приложения может быть выполнено разделах defining _DEBUG пометить или путем связывания с отладочной версией библиотеки времени выполнения c.) Различия поведения обычно состоят из дополнительных функций и сведений, предоставляемых подпрограммой поддерживали процесс отладки.В следующей таблице перечислены эти подпрограммы.

Подпрограммы, которые ведут себя по-разному в отладочном построении приложения

C Прервать процедура

C++ удалить Оператор

C assert процедура

C++ создать Оператор

Дополнительные сведения об использовании версий отладка операторов C++ см. в предыдущей таблице. Использование кучи отладки из C++.

См. также

Ссылки

Подпрограммы времени выполнения по категориям

Проверка ошибок во время выполнения