Подтвердить что ты не робот

Sysinternals 'Portmon: Ошибка 2

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

Enter image description here

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

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

4b9b3361

Ответ 1

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

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

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

Ответ 2

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

Ответ 3

"Ошибка 2" - "Не удается найти указанный файл", то есть не удается найти требуемый файл DLL.

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

Microsoft 64-разрядная версия Windows 7 на моей копии Windows Dependency Walker сообщает мне, что файл 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 и отладкой, прокомментирует.

Ответ 4

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

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

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

Ответ 6

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

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

Ответ 7

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

Установите флажок "Запустить старые программы в этой версии Windows".

Это говорит:

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

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

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

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

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

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

Ответ 8

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

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

  • com0com (предпочтительно версия "com0com-2.2.2.0-x64-fre-signature", поскольку она содержит подписанный драйвер x64)
  • Эмулятор виртуальных последовательных портов (VSPE), каждый раз, когда он запускается на x64, он просит купить драйвер, но он работает, даже если вы отказываетесь.

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

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

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

Ответ 9

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

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