Sysinternals' Portmon: Error 2

后端 未结 9 1470
心在旅途
心在旅途 2020-12-14 14:14

When I try to connect to local ports, Computer -> Connect local, using Portmon v. 3.02, I\'m getting an error message, Error 2, in a small error dialog box

相关标签:
9条回答
  • 2020-12-14 14:53

    Don't start Portmon from a network drive/path or something else.

    Copy on to the hard disk drive, e.g. on the desktop, restart and try again!

    0 讨论(0)
  • 2020-12-14 14:54

    "Error 2" is "Cannot find the file specified", that is, cannot find a required DLL file.

    Originally, you got this error when you tried to run Portmon from a network location: that broke the security trust, causing Portmon to be untrusted (or perhaps just messing up the search path somehow).

    On my copy of Windows 7 64 bit, Microsoft Dependency Walker (depends.exe) tells me that PORTMSYS.SYS (the file created/loaded by Portmon.exe), has unresolved dependencies on ci.dll, clfs.sys, hal.dll and kdcom.dll.

    Those are the

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

    libraries, and they aren't actually missing: if they were, Windows wouldn't boot. However, I don't see a copy of those files in SysWow64. This suggests to me that the problem is not with portman.sys: the problem is with the win32 compatibility layer in Windows 7/64 bit: It doesn't support debug properly.

    It is now 2018. There is no 64-bit version of Portmon. Serial ports are a legacy standard. The Windows 7 problem was fixed by the release of Windows 8.1. However, there is a faint chance that some Visual Studio utility or security update back-ported to Windows 7 will fix the problem. Perhaps someone who is familiar with SysWow and debugging will comment.

    0 讨论(0)
  • 2020-12-14 14:54

    If you run Portmon in compatibility mode, it will work.

    Check Make older programs run in this version of Windows.

    It says:

    To run the Program Compatibility troubleshooter:

    1. Open the Program Compatibility troubleshooter by clicking the Start button Picture of the Start button, and then clicking Control Panel. In the search box, type troubleshooter, and then click Troubleshooting. Under Programs, click Run programs made for previous versions of Windows.
    2. Follow the instructions in the troubleshooter.

    The above is a public explanation from Microsoft for a common situation when running older applications in Windows.

    But, I can say it briefly;

    1. Right click on portmon.exe
    2. Select menu about "troubleshooting compatibility problem" or something like that (I'm using a foreign version of Windows, so I don't see correct name of that menu in English.)
    3. Select automatic mode
    4. It will detect the problem and recommend Windows XP (SP2) mode
    5. Select it and execute Portmon again.

    I hope it works!

    0 讨论(0)
  • 2020-12-14 15:04

    I haven't tried it yet, but this question mentions com0com. It creates two virtual serial ports and emulates a null modem cable between them. It claims to be able to run on 64 bit Windows. I'm not sure whether it comes with software that lets you just pipe input from a real port into one of the virtual ports. One of the FAQ's says that you can turn on logging.

    I guess in the worst case, you could write your own small program that pipes data from a real port to one of the virtual ports and logs it all.

    There's also this question on open-source alternatives that mentions a couple of projects.

    0 讨论(0)
  • 2020-12-14 15:10

    Sysinternals' Portmon works only on 32-bit versions of Windows. It does not support 64-bit (probably its driver is not signed).

    From the Portmon homepage:

    • Runs on:
      • Client: Windows XP (32-bit) and higher (32-bit).
      • Server: Windows Server 2003 (32-bit) and higher (32-bit).
    0 讨论(0)
  • 2020-12-14 15:14

    Just to test that the hardware is working, you could perhaps boot a Linux live CD and run the statserial and/or minicom program to verify that it works. The Knoppix distribution seems to contain both those programs.

    Serial ports on Linux are named /dev/ttyS0 for COM1, /dev/ttyS1 for COM2, etc.

    0 讨论(0)
提交回复
热议问题