При использовании модуля Registry вылетает Perl с нарушением прав доступа - PullRequest
1 голос
/ 09 февраля 2010

Наша Perl-программа аварийно завершает работу при запуске на Windows-компьютере клиента. Дальнейшие тесты показывают, что с предоставленным нами дистрибутивом perl простой сценарий "hello world" работает, но не работает, если в него включена строка:

use Win32::TieRegistry(Delimiter=>'\\');

Сбой при нарушении прав доступа к нулевому указателю. Стек указывает на registry.dll .

Есть идеи, как решить эту проблему? Я не нашел ничего об этом в поиске Google и не могу воссоздать его в своей среде.

1 Ответ

1 голос
/ 29 апреля 2010

Можете ли вы сказать мне, какую версию Perl вы используете? Это Activestate или клубничный Perl?

Нарушение доступа, как правило, является ошибкой программирования в не коде Perl. Похоже, может быть Registry.dll, которая содержит ошибку. Чтобы отследить его, вам, вероятно, понадобится исходный код и / или отладчик. Я предполагаю, что registry.dll - это dll, которая поставляется как часть perl (то есть часть кода XS / C Win32 :: TieRegistry или Win32API :: Registry, используемая Win32 :: TieRegistry). Чтобы проверить это предположение, можете ли вы указать полный путь к Registry.dll? Я думаю, что это будет показано в диалоговом окне нарушения прав доступа.

...