|
970 / 773 / 171
Регистрация: 12.04.2009
Сообщений: 1,700
|
||||||||||||||||
.NET 2.x X64 GetThreadContext Error 998: Invalid Access Memory Location09.11.2014, 21:46. Показов 3804. Ответов 18
Метки нет (Все метки)
Доброго времени суток.
При попытке получить контекст потока
Вообще-то эта ошибка должна появляться в том случае, если пытаться получить контекст х86 процесса. И так что имеется: OS - Windows 10 TP (x64) & Visual Studio 2013 Update 3 Приложение на C# x64. Так вот сама ошибка появляется если скомпилировать данное приложение на этом компьютере с ОС Windows 10 TP (x64). Если скомпилировать аналогичное приложение на С++ все работает. Если скомпилировать приложение на С# но на другом компьютере (OS Windows 7 x64 & Visual Studio 2013 Update 3) - все работает. Может какие-то настройки Visual Studio? Вот тестовый исходник на С#:
0
|
||||||||||||||||
| 09.11.2014, 21:46 | |
|
Ответы с готовыми решениями:
18
Error 1606. Could not access network location \.
|
|
286 / 192 / 56
Регистрация: 25.12.2012
Сообщений: 640
|
|
| 09.11.2014, 23:23 | |
|
Возможно это происходит потому что программа запускается как x86 (проверте в task manager). Попробуйте настроить платформу в меню построения visual studio. Ещё есть утилита "CorFlags Conversion Tool (CorFlags.exe)" от M$ для настройки платформы и прочих нужд.
0
|
|
|
970 / 773 / 171
Регистрация: 12.04.2009
Сообщений: 1,700
|
|
| 10.11.2014, 00:00 [ТС] | |
|
Процесс x64, это я в первую очередь посмотрел.
0
|
|
|
286 / 192 / 56
Регистрация: 25.12.2012
Сообщений: 640
|
|
| 10.11.2014, 00:46 | |
|
Запускайте debugger ставте breakpoint на GetThreadContext и смотрите что не так.
0
|
|
|
970 / 773 / 171
Регистрация: 12.04.2009
Сообщений: 1,700
|
|
| 10.11.2014, 01:02 [ТС] | |
|
я же написал что не так...
0
|
|
|
286 / 192 / 56
Регистрация: 25.12.2012
Сообщений: 640
|
|
| 10.11.2014, 01:05 | |
|
Для x64 нужно использовать Wow64GetThreadContext может в этом проблема ?
0
|
|
|
970 / 773 / 171
Регистрация: 12.04.2009
Сообщений: 1,700
|
|
| 10.11.2014, 08:14 [ТС] | |
|
Такс, вообще-то Wow64GetThreadContext используется для вызова контекста х64 приложением из х86 процесса.
И еще раз, этот код корректно работает если его скомпилировать на другой машине и запустить на текущей, и аналогичный код на С++ тоже работает. Не работает только компиляция на С# под текущей ОС. Я еще попробую установить виртуальную машину и проделать все там.
0
|
|
|
Ушел с форума
|
||
| 10.11.2014, 09:24 | ||
|
без нее выполнить какую-то диагностику проблемы невозможно.
1
|
||
|
970 / 773 / 171
Регистрация: 12.04.2009
Сообщений: 1,700
|
|||||||||||
| 10.11.2014, 10:56 [ТС] | |||||||||||
|
А как же это:
0
|
|||||||||||
|
286 / 192 / 56
Регистрация: 25.12.2012
Сообщений: 640
|
||
| 10.11.2014, 12:35 | ||
|
0
|
||
|
970 / 773 / 171
Регистрация: 12.04.2009
Сообщений: 1,700
|
||||||
| 10.11.2014, 13:19 [ТС] | ||||||
|
Мда уж... вы тему читали? Wow64GetThreadContext - здесь ни при чем. Не для того он.
Да и если вам так хочется знать то Wow64GetThreadContext принимает в качестве параметра указатель на структуру WOW64_CONTEXT, и если вы посмотрите ниже, то увидите что это структура для контекста х86.
0
|
||||||
|
Ушел с форума
|
||||||
| 10.11.2014, 13:54 | ||||||
|
Konctantin, структура CONTEXT для этой функции должна быть
выравнена по 16-байтовой границе. Windows 7 SDK, WinNT.h:
1
|
||||||
|
970 / 773 / 171
Регистрация: 12.04.2009
Сообщений: 1,700
|
|
| 10.11.2014, 14:05 [ТС] | |
|
Оно то так, но ошибка не из-за этого, я игрался с Pack в StructLayout.
Да я же говорю что если скомпилировать это приложение на другом компьютере - все работает (и на этом тоже). У меня все такие подозрения на саму студию, возможно что-то с настройками или даже хз.
0
|
|
|
Ушел с форума
|
||
| 10.11.2014, 14:20 | ||
|
Konctantin, Pack здесь не причем, выравнен должен быть сам адрес,
который выделяется под структуру CONTEXT. Вот выведите его на экран перед вызовом GetThreadContext. Добавлено через 32 секунды ![]() Добавлено через 8 минут В качестве теста можете вместо new попробовать VirtualAlloc, например - она выделяет память, выравненную по размеру страницы (4096 байт).
1
|
||
|
970 / 773 / 171
Регистрация: 12.04.2009
Сообщений: 1,700
|
|||
| 10.11.2014, 14:30 [ТС] | |||
0
|
|||
|
286 / 192 / 56
Регистрация: 25.12.2012
Сообщений: 640
|
||||||
| 10.11.2014, 14:53 | ||||||
0
|
||||||
|
970 / 773 / 171
Регистрация: 12.04.2009
Сообщений: 1,700
|
|
| 10.11.2014, 16:48 [ТС] | |
|
На виртуальную машину поставил Windows 10 TP x64 & Visual Studio 2013
Скомпилировал код из первого поста, запустил - все работает. Значит что-то с настройками.
0
|
|
|
Почетный модератор
|
||||||||||||||||
| 10.11.2014, 17:09 | ||||||||||||||||
Сообщение было отмечено Konctantin как решение
Решение
Konctantin, проблема именно из-за выравнивание адреса по которому расположена структура, как и написал Убежденный.
Пример: (Win 10 TP Enterprise x64 & VS 2013)
Вот так не работает:
2
|
||||||||||||||||
|
970 / 773 / 171
Регистрация: 12.04.2009
Сообщений: 1,700
|
|
| 10.11.2014, 21:28 [ТС] | |
|
Спасибо, да уж... и все же совсем не понятно почему скомпилированный код на другой машине работает нормально.
Аптайм уже пару дней (около 10000 срабатываний).
0
|
|
| 10.11.2014, 21:28 | |
|
Помогаю со студенческими работами здесь
19
Ошибка "Error 1606. Could not access network location 0\" при установке Delphi 7 Ошибка bad_alloc at memory location Unhandled exception.std::out_of_range at memory location. ошибка Std::invalid_argument at memory location 0x004ff460|Visual Studio Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
||||
|
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта
Симптом:
После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
|
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
|
Новый ноутбук
volvo 07.12.2025
Всем привет.
По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне:
Ryzen 5 7533HS
64 Gb DDR5
1Tb NVMe
16" Full HD Display
Win11 Pro
|
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
|
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
|
|
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов
На странице:
https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/
нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
|
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов.
. . .
|
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
|
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
|
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут.
В век Веб все очень привыкли к дизайну Single-Page-Application .
Быстренько разберем подход "на фреймах".
Мы делаем одну. . .
|