В C # есть простая программа:
namespace Stack_and_call_x86
{
class Program
{
static void Main(string[] args)
{
int result = Add(2,4);
}
static int Add (int a, int b)
{
int answer = a + b;
return answer;
}
}
}
Я написал и скомпилировал ее в MVS 2019. Я пытаюсь отладить ее в WinDbg. Кажется, я все делаю правильно, я зарегистрировал пути к символам, указал местоположение файла .cs, использую исполняемую программу Launch. (Я использую .exe из папки Debug). Я поставил точку останова:
bp Stack_and_call_x86! main
Выдает следующее:
WARNING: Unable to verify checksum for Stack_and_call_x86.exe
Operation not supported by integrated managed debugging.
error at 'Stack_and_call_x86! main'
The breakpoint expression "Stack_and_call_x86! Main" evaluates to the inline function.
Please use bm command to set breakpoints instead of bp.
ОК, я поставил BM:
BM Stack_and_call_x86! main
Ну, похоже, установлено:
1: <MSIL: 00ca0000> @! "Stack_and_call_x86! Main"
Затем запустите и получите следующую ошибку:
ModLoad: 75e20000 75e99000 C: \ WINDOWS \ SysWOW64 \ ADVAPI32.dll
Breakpoint 1's offset expression evaluation failed.
Check for invalid symbols or bad syntax.
PS
Если я открываю файл .cs через Файл - Открыть исходный файл, и в коде ставится точка останова, то она устанавливается, но при ее запуске выдается ошибка:
Невозможно вставитьточка останова 0 на 00ca0001, ошибка Win32 0n998 «Недопустимая попытка доступа к адресу памяти». BP0 на 00ca0001 не удалось