Описание тега dbgeng

1 ответ

Как получить информацию о разделе / ​​разрешения на смещение от windbg/dbgeng api?

Я пишу расширение для Windbg, и в определенный момент мне нужно получить разрешения для смещения памяти, очень похоже на то, как !address addr предоставит в Windbg. Я ознакомился с доступными функциями API отладчика здесь: http://msdn.microsoft.com/…
11 дек '14 в 06:09
1 ответ

Что "Stop Debugging" делает программно в windbg?

Я пытаюсь повторить очистку, выполняемую windbg после открытия дампа, анализа его и затем "Stop Debugging". Когда я пытаюсь сделать это в моей собственной программе, я теряю много памяти. Я освобождаю com-интерфейсы, которые у меня есть addref: ed, …
09 авг '16 в 10:12
3 ответа

WinDbg, отобразить пути Symbol Server для загруженных модулей (даже если символы не загружались)?

Есть ли способ из WinDbg, без использования API DbgEng, отображать пути сервера символов (то есть PdbSig70 и PdbAge) для всех загруженных модулей? я знаю это lml делает это для модулей, чьи символы загружены. Я хотел бы знать эти пути для символов, …
0 ответов

Отладка запущенного процесса с помощью dbgeng

Я написал простую программу, основанную на образце wdk, которая сканирует память из файла дампа. Теперь я хотел бы сделать то же самое в процессе, пока он работает, и я столкнулся с несколькими проблемами: Я не знаю как сломать запущенный процесс пр…
30 апр '15 в 08:45
1 ответ

DbgEng - получить вывод команды не через обратные вызовы

Я делаю отдельное приложение отладчика, используя Microsoft DbgEng. Я хочу открыть второй поток, который отправляет команды дополнительному экземпляру IDebugControl, и я хочу получить конкретный вывод для этого вызова метода IDebugControl Execute (и…
23 авг '14 в 13:21
1 ответ

Не могу заставить WindBG распознать мое расширение

К сожалению, по какой-то причине я не могу понять, я не мог заставить себя узнать мое расширение. #ifndef EXPT_API #define EXPT_API __declspec(dllexport) #endif extern "C" EXPT_API HRESULT CALLBACK help(PDEBUG_CLIENT Client, PCSTR args) { IDebugCont…
22 янв '12 в 12:03
1 ответ

Как я могу прочитать пользовательский ввод из расширения отладчика (dbgeng) независимым от отладчика способом?

Я пишу расширение отладчика и ищу способ получить пользовательский ввод от расширения отладчика после того, как расширение начало выполняться. Я размещаю PowerShell в расширении отладчика и пытаюсь реализовать поддержку Read-Host, которая требует вв…
14 янв '16 в 20:26
2 ответа

Получить вывод выполненной команды windbg

Метод IDebugControl::Execute позволяет выполнять команды отладчика. Как я могу получить вывод выполненной команды отладчика? Моя цель - проверить, загружен ли драйвер, для этого я использую Execute, чтобы выполнить команду "lm" windbg и проанализиро…
26 дек '15 в 09:46
1 ответ

Как отладить исключение Illegal Instruction?

Я получаю это исключение при попытке использовать dbgeng из mdbglib: исключение первого шанса на 0x037ba4f4 (dbgeng.dll) в ASDumpAnalyzer.exe: 0xC000001D: недопустимая инструкция. Мне интересно, как идти об отладке этого? Кидает на инструкцию по сбо…
09 ноя '09 в 04:37
0 ответов

Как запустить процесс с перенаправленным вводом-выводом с помощью WinDbg

Я пытаюсь устранить ошибку в проекте с открытым исходным кодом, это расширение VSCode, которое добавляет поддержку отладки WinDbg. Ошибка заключается в том, что потоки stdin, stdout и stderr отладчика не проксируются в VSCode, поэтому в IDE невозмож…
16 окт '18 в 10:19
2 ответа

Встроенные кадры стека с IDebugControl5.GetContextStackTraceEx?

Как я могу разрешить символы DEBUG_STACK_FRAME_EX со встроенными кадрами? Я в курсе DEBUG_STACK_FRAME_EX И его ULONG InlineFrameContext, но я не понимаю, как решить InlineFrameContext на соответствующий символ. И что это FrameSignature а также Frame…
11 авг '16 в 10:31
0 ответов

Получить смещение указателя кадра для первого кадра стека

Мне нужно было получить базовый и верхний адреса всех стековых фреймов для расширения, которое я пишу для windbg. В качестве примера вот что я получил: (0) ip= 0x779e5604, ret= 0x779cda0d, frame= 0x23c79c, stack= 0x23c79c (1) ip= 0x779cda0d, ret= 0x…
16 дек '14 в 10:15
1 ответ

Расширение WinDbg

Я пытаюсь написать функцию расширения, которая будет запускаться до следующего вызова, а затем распечатывать информацию о следующей инструкции. я использую IDebugControl::Execute бежать tc, Как отмечено в документации, этот вызов возвращается до тог…
21 янв '14 в 19:21
1 ответ

Реализация DebugExtensionProvideValue повреждает внутреннее состояние WinDbg?

Я реализую DebugExtensionProvideValue в моем расширении, чтобы я мог предоставить пользовательские псевдорегистры. Он отлично работает в CDB и изначально отлично работает в WinDbg, но после остановки отладки и открытия нового исполняемого файла что-…
24 май '16 в 15:03
1 ответ

IDebugSymbols::GetNameByOffset и перегруженные функции

Я использую IDebugSymbols::GetNameByOffset и обнаружил, что получаю одно и то же имя символа для разных функций, которые перегружают одно и то же имя. Например, код, для которого я ищу символы, может быть следующим: void SomeFunction(int) {..} void …
23 янв '09 в 15:49
1 ответ

Как мне взаимодействовать с нативным отладчиком Visual Studios при написании собственного отладчика в "смешанном режиме"?

Последние несколько дней я проводил в поисках Google, блогов и MSDN в поисках небольшого куска информации о том, как отладка "взаимодействия" или "смешанного режима" реализована в Visual Studio. Я пытаюсь реализовать свой собственный отладчик для по…
1 ответ

Могу ли я использовать расширение DLL DbgEng в пользовательском приложении?

Мне интересно, могу ли я использовать расширение DbgEng без WinDbg. Например, возможно ли использовать расширение DbgEng из управляемого приложения.NET? С уважением, Ремси
09 окт '10 в 16:56
1 ответ

IDebugControl::WaitForEvent работает один раз, затем возвращает E_HANDLE

Я пытаюсь создать небольшой инструмент, использующий API-интерфейс Debugger Engine, но у меня очень ограниченный успех. Я могу получить свои экземпляры IDebugClient и IDebugControl, и оттуда я могу подключиться к уже запущенному пользовательскому пр…
07 дек '08 в 16:28
1 ответ

dbgeng - загрузить расширение dll в C++?

Я написал одно приложение, в котором я загружаю один системный аварийный дамп, используя dbgeng.dll. Я хочу использовать некоторые команды WinDbg, такие как (! Vad) - для этого мне нужны другие dll, такие как exts.dll, ext.dll, kext.dll, kexts.dll. …
12 май '11 в 10:43
3 ответа

Как извлечь поток пользователя из расширения WinDbg?

Я встроил пользовательский поток в дамп (т.е. передал аргумент UserStreamParam в функцию MiniDumpWriteDump). Теперь я пытаюсь извлечь поток из расширения WinDbg. (Обратите внимание, что я проверил, что могу получить поток, используя функцию MiniDump…
30 мар '11 в 13:53