Можно ли добавить точку останова в windows API CreateProcess в Visual Studio, как я могу сделать в Windbg?
Могу ли я добавить точку останова на CreateProcess в VS
Ответ 1
Да - перейдите "Debug/New breakpoint/Break at function..." и вставьте это:
{,,kernel32.dll}[email protected]
в поле Function.
Это предполагает сборку Unicode - замените W
на A
для сборок ANSI.
Немного объяснения: фрагмент @40
является частью соглашения о вызове stdcall и дает количество байтов параметров, которые выполняет функция. В win32 это почти всегда в 4 раза больше параметров. Подчеркивание также является частью соглашения о вызове stdcall.
Относительная нота: иногда имя функции, видимое отладчиком, отличается от ее реального имени - см. это сообщение в блоге для примера и как найти правильное имя для использования: Установка точки останова Visual Studio для функции Win32 API в user32.dll