AFXAPI AfxDumpStack(DWORD dwTarget = AFX_STACK_DUMP_TARGET_DEFAULT); до втрати
Параметри
dwTarget
Вказує на призначення виводу дамп. Можливих значень, які можуть бути об'єднані, за допомогою оператора порозрядне OR (|), є такими:
AFX_STACK_DUMP_TARGET_TRACE Надсилання виводу за допомогою макросу ТРАСУВАННЯ . Макрос слід генерує виводу в налагодження будує тільки; Вона генерує без виводу в реліз будує. Також, ВІДСЛІДКОВУВАТИ можна переспрямувати інших цілей, окрім налагоджувач.
AFX_STACK_DUMP_TARGET_DEFAULT Надсилання звалища вивід цільової за промовчанням. Для налагодження побудувати виводу йде до макросу ТРАСУВАННЯ . У випуску будувати виводу йде до буфера обміну.
AFX_STACK_DUMP_TARGET_CLIPBOARD Надсилання виводу тільки в буфер обміну. Дані знаходиться в буфері обміну як звичайний текст, використовуючи формат буфера обміну CF_TEXT.
AFX_STACK_DUMP_TARGET_BOTH Надсилання, вихід до буфера обміну і СЛІДУ макрос, одночасно.
AFX_STACK_DUMP_TARGET_ODS Надсилання виводу безпосередньо до налагоджувача через Win32 функція OutputDebugString(). Цей параметр буде генерувати налагоджувача виводу в обох налагодження і звільнити будує, зневаджувач, вкладених до процесу. AFX_STACK_DUMP_TARGET_ODS завжди досягає налагоджувач (якщо його підключено) і не може бути Перенаправлено.
Зауваження
Цей глобальний функція може використовуватися для створення зображення поточного стека. Приклад нижче відображає один рядок виводу, що генеруються з виклик AfxDumpStack з обробник кнопки в на MFC діалоговому applicaton:
У нижченаведеній таблиці описано вище рядка виводу:
Вихід
Опис
BFF928E0:
Зворотна адреса останній виклик функції.
WINDOWS\SYSTEM\KERNEL32.БІБЛІОТЕКА DLL!
Повний шлях до файлу модуля, який містить виклик функції.
UTUnRegister
Прототип функції, називається.
+ 2492 байт
Зсув у байтах з адреси прототип функції (в даному випадку UTUnRegister ) до адреси повернення (у цьому випадку, BFF928E0 ).
AfxDumpStack доступна у версіях налагодження та nondebug MFC бібліотек; Проте, функція завжди пов'язаний статично, навіть коли виконуваний файл використовує MFC у спільній DLL. В реалізації загальні бібліотеки функція знаходиться в на MFCS42.LIB бібліотеки (і його варіанти).
Для використання цієї функції успішно:
Файл IMAGEHLP.Бібліотека DLL повинні бути на вашому шляху. Якщо ви не маєте цієї DLL, функція буде відображено повідомлення про помилку. IMAGEHLP.Бібліотека DLL є вторинного розповсюдження DLL який поставляється з Win32 SDK і з Windows. Шукати його в C:\[windows]\system[32]. Див Портативний маніпуляції виконуваний файл для введення в набір функції, що надаються IMAGEHLP.
Модулі, що мають кадрів у стеку повинна включати налагоджувальну інформацію. Якщо вони не містять інформацію, функції, як і раніше буде генерувати трасування стека, але трасування буде менш докладно.