Діагностичні послуги

Бібліотеки класів Microsoft фонду постачання багато діагностичні послуги, які роблять налагодження програми простіше. Ці діагностичні послуги включають макроси та глобальні функції, які дають змогу відстежувати ваші програми пам'яті асигнувань, скинути вміст об'єктів під час виконання, час і друкувати налагодження повідомлення під час виконання, час. Макроси та глобальні функції для діагностичних послуг поділяються на такі категорії:

Ці макроси та функції, доступні для всіх класів, отриманих від CObject у налагодження та реліз версії MFC. Тим не менше, все, крім DEBUG_NEW і перевірити нічого не версії.

У бібліотеці налагодження всі блоки пам'ять, виділених дужки з серії "Гвардія байтів". Якщо ці байт порушений мандрівний пам'яті-писати, діагностичний процедур можна повідомити проблема. Якщо ви включите лінії

# визначити новий DEBUG_NEW

у файлі реалізації всі дзвінки на новий буде зберігати на ім'я файлу і номер рядка виділення пам'яті, де мали місце. Функція CMemoryState::DumpAllObjectsSince буде відображати цю додаткову інформацію, дозволяє визначити витоків пам'яті. Також зверніться до класу CDumpContext для отримання додаткової інформації про діагностику виводу.

Крім того, бібліотеки С під час також підтримує набір діагностичних функцій, які можна використовувати для налагодження додатків. Докладніше, перегляньте статтю Налагодження процедури Під час бібліотеки посилання.

MFC Генеральний діагностики макроси

СТВЕРДЖУВАТИ Друкує повідомлення а потім aborts програми, якщо вказаний вираз має значення ХИБНІСТЬ в налагоджування версії бібліотеки.
ASSERT_KINDOF Тести, що об'єкт знаходиться об'єкт, указаний класу або класу, отриманих від вказаний клас.
ASSERT_VALID Тести внутрішньої дійсності об'єкта, називаючи його AssertValid член функції; зазвичай змінені з CObject.
DEBUG_NEW Постачання на ім'я файлу і номер рядка для всіх об'єктів асигнування в режимі налагодження допомогти знайти витоків пам'яті.
ТРАСУВАННЯ Забезпечує printf-типу потенціалу в налагоджування версії бібліотеки.
TRACE0 Подібно до ТРАСУВАННЯ , але займає формат рядок з аргументів.
TRACE1 Подібно до ТРАСУВАННЯ , але займає формат рядок, на один аргумент.
TRACE2 Подібно до ТРАСУВАННЯ , але займає формат рядок, на два аргументи.
TRACE3 Подібно до ТРАСУВАННЯ , але займає формат рядок, на три аргументи.
ПЕРЕВІРТЕ, ЧИ Подібно до НАДБАННЯ , але оцінює вираз версії бібліотеки, як добре, як у налагоджування версії.

MFC Генеральний діагностики змінні і функції

afxDump Глобальна змінна, яка передає інформацію CDumpContext вікно виводу налагоджувача або термінал налагодження.
afxMemDF Глобальна змінна, яка керує поведінкою налагодження розподільника пам'яті.
afxTraceEnabled Глобальну змінну, що використовується для увімкнення або вимкнення виводу з ТРАСУВАННЯ макросу.
afxTraceFlags Глобальну змінну, що використовується для Увімкнення вбудованих звітності особливостей MFC.
AfxCheckError Глобальну змінну, що використовуються для перевірки переданий SCODE , щоб побачити, якщо це повідомлення про помилку і якщо так, кидає відповідне повідомлення про помилку.
AfxCheckMemory Перевірка цілісності все, що в даний час виділяються пам'яті.
AfxDump Якщо називають в налагоджувач, звалищ стану об'єкта під час налагодження.
AfxDumpStack Створення зображення з поточного стосу. Ця функція завжди статично зв'язаний.
AfxEnableMemoryTracking Перетворює пам'яті, відстеження та вимкнення.
AfxIsMemoryBlock Перевіряє належним чином виділяються пам'яті блок.
AfxIsValidAddress Засвідчує, що діапазон адреси пам'яті є потенційна програми.
AfxIsValidString Визначає, чи діє курсор в рядок.
AfxSetAllocHook Дає можливість виклику функції на кожний розподіл пам'яті.

MFC об'єкт функції діагностики

AfxDoForAllClasses Виконує вказану функції всіх CObject-класи, які підтримують текст під час перевірки отриманих.
AfxDoForAllObjects Виконує вказану функції всіх CObject-отриманих об'єкти, які були виділені з нових.

Index