Я хочу обнаружить возможные аппаратные точки останова в моем приложении. Для этого мне нужен доступ для чтения для регистров отладки. Прямой доступ не представляется возможным, так что я сделать это таким образом:Доступ к регистрам отладки в Windows 7 x64
HANDLE thread = GetCurrentThread();
WOW64_CONTEXT context;
context.ContextFlags = CONTEXT_FULL;
BOOL status = Wow64GetThreadContext(thread, &context);
if (!status)
return -1;
std::cout << std::hex << context.Dr0 << " " << context.Dr1 << " " << context.Dr2 << " " << context.Dr3 << " " << std::endl;
То, что я вижу на стандартный вывод является: CCCCCCCC CCCCCCCC CCCCCCCC CCCCCCCC даже если есть забираемой горячей точки останова, установленные мной.
Нужны ли мне специальные разрешения для доступа к этим регистрам? Приложение 32 бит, но я работаю над Windows 7 x64, если это имеет значение.