Портмон Sysinternals: Ошибка 2 - PullRequest
       22

Портмон Sysinternals: Ошибка 2

54 голосов
/ 31 августа 2009

Когда я пытаюсь подключиться к локальным портам, Компьютер -> Подключить локальный , используя Portmon v. 3.02, я получаю сообщение об ошибке, Ошибка 2 , в небольшом диалоговом окне с ошибкой:

Enter image description here

Я запускаю инструмент от имени администратора (если нет, я получаю ошибку 6).

Кстати, это Windows 7 x64. На 32-битной, в Windows 7 x86 работает нормально. Как я могу решить эту проблему?

Ответы [ 9 ]

60 голосов
/ 05 сентября 2009

Sysinternals 'Portmon работает только на 32-битных версиях Windows. Он не поддерживает 64-битную версию (возможно, его драйвер не подписан).

с домашней страницы Portmon:

  • Работает на:
    • Клиент: Windows XP (32-разрядная версия) и выше (32-разрядная версия).
    • Сервер: Windows Server 2003 (32-разрядная версия) и выше (32-разрядная версия).
9 голосов
/ 17 мая 2012

В проводнике Windows щелкните правой кнопкой мыши portmon.exe -> выберите Свойства -> перейдите на вкладку Совместимость и выберите Запуск в режиме совместимости с Windows XP. Он отлично работает в Windows 7 64-bit.

3 голосов
/ 04 апреля 2018

«Ошибка 2» - это «Не удается найти указанный файл», то есть не удается найти нужный файл DLL.

Первоначально, вы получили эту ошибку, когда пытались запустить Portmon из сетевого расположения: это нарушило доверие безопасности, из-за чего Portmon оказался ненадежным (или, возможно, просто испортил путь поиска).

В моей копии 64-разрядной версии Windows 7 Microsoft Dependency Walker (disabled.exe) сообщает, что PORTMSYS.SYS (файл, созданный / загруженный Portmon.exe), имеет неразрешенные зависимости от ci. dll, clfs.sys, hal.dll и kdcom.dll.

Это

code integrity
common log file system
hardware abstraction layer
kernel debugger com

библиотек, и они на самом деле не отсутствуют: если бы они были, Windows не загрузилась бы. Однако я не вижу копии этих файлов в SysWow64. Это наводит меня на мысль, что проблема не в portman.sys: проблема в уровне совместимости win32 в Windows 7/64: он не поддерживает должную отладку.

Сейчас 2018 год. 64-разрядной версии Portmon не существует. Последовательные порты являются устаревшим стандартом. Проблема Windows 7 была исправлена ​​выпуском Windows 8.1. Однако существует небольшая вероятность того, что некоторые утилиты Visual Studio или обновление для системы безопасности, перенесенные в Windows 7, решат проблему. Возможно, кто-то, кто знаком с SysWow и отладкой, прокомментирует.

2 голосов
/ 19 апреля 2019

Вместо portmon для Windows x64 вы можете использовать эмулятор из пары виртуальных COM-портов и простую программу, которая соединит физический порт и один из виртуальных, а также выполнит функцию регистрации.

Для создания пары виртуальных COM-портов вы можете использовать:

Можно найти простую программу картирования и регистрации, например, здесь или вы можете написать это сами, это просто.

Последовательность действий следующая:

  • Создание пары виртуальных COM-портов с помощью эмулятора (например, COM28 и COM29)
  • Пусть внешнее устройство подключено к порту COM1 компьютера. В программе, обмен которой с внешним устройством мы хотим слушать, мы настроили порт COM28 (вместо СОМ1) для связи.
  • В программе отображения мы установили, что мы хотим связывать и регистрировать порты COM1 и COM29 (не забудьте установить скорость передачи данных порта).
1 голос
/ 16 сентября 2016

Я использовал AccessPort http://sudt.com/en/ap/download.htm и это прекрасно работает. Очень похоже на Portmon

1 голос
/ 26 июня 2010

Я еще не пробовал, но этот вопрос упоминает com0com . Он создает два виртуальных последовательных порта и эмулирует нуль-модемный кабель между ними. Он утверждает, что может работать на 64-битной Windows. Я не уверен, поставляется ли он с программным обеспечением, которое позволяет просто передавать данные с реального порта на один из виртуальных портов. В одном из часто задаваемых вопросов говорится, что вы можете включить ведение журнала.

Полагаю, в худшем случае вы могли бы написать собственную небольшую программу, которая передает данные с реального порта на один из виртуальных портов и регистрирует их все.

Также есть этот вопрос об альтернативах с открытым исходным кодом , в котором упоминается пара проектов.

0 голосов
/ 27 марта 2015

Если вы запустите Portmon в режиме совместимости, он будет работать.

Проверка Запуск старых программ в этой версии Windows .

Там написано:

Чтобы запустить средство устранения неполадок совместимости программ:

  1. Откройте средство устранения неполадок совместимости программ, нажав кнопку «Пуск» Изображение кнопки «Пуск» и затем щелкнув «Панель управления». В поле поиска введите Устранение неполадок, а затем нажмите Устранение неполадок. В разделе «Программы» выберите «Запустить программы, созданные для предыдущих версий Windows».
  2. Следуйте инструкциям по устранению неполадок.

Выше приведено публичное объяснение от Microsoft распространенной ситуации при запуске старых приложений в Windows.

Но я могу сказать это кратко;

  1. Щелкните правой кнопкой мыши на portmon.exe
  2. Выберите меню «Устранение неполадок совместимости» или что-то подобное (я использую иностранную версию Windows, поэтому не вижу правильного названия этого меню на английском языке.)
  3. Выберите автоматический режим
  4. Он обнаружит проблему и порекомендует режим Windows XP (SP2)
  5. Выберите его и снова запустите Portmon.

Надеюсь, это сработает!

0 голосов
/ 28 сентября 2010

Не запускайте Portmon с сетевого диска / пути или чего-то еще.

Копирование на жесткий диск, например, на рабочем столе перезагрузите компьютер и попробуйте снова!

0 голосов
/ 01 сентября 2009

Просто для проверки работоспособности оборудования вы можете загрузить Linux live CD и запустить программу statserial и / или minicom, чтобы убедиться, что она работает. Дистрибутив Knoppix содержит обе эти программы.

Последовательные порты в Linux называются /dev/ttyS0 для COM1, /dev/ttyS1 для COM2 и т. Д.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...