web-dev-qa-db-fra.com

Portmon de Sysinternals: erreur 2

Lorsque j'essaye de me connecter aux ports locaux, Ordinateur -> Connecter local , en utilisant Portmon v. 3.02, je reçois un message d'erreur, Erreur 2 , dans une petite boîte de dialogue d'erreur:

Enter image description here

J'exécute l'outil en tant qu'administrateur (sinon, j'obtiens l'erreur 6).

Au fait, c'est un Windows 7 x64. Sur 32 bits, dans Windows 7 x86, cela fonctionne bien. Comment puis-je résoudre ce problème?

56
JAG

Portmon de Sysinternals ne fonctionne que sur les versions 32 bits de Windows. Il ne prend pas en charge 64 bits (probablement son pilote n'est pas signé).

Depuis la page d'accueil de Portmon:

  • Fonctionne sur:
    • Client: Windows XP (32 bits) et supérieur (32 bits).
    • Serveur: Windows Server 2003 (32 bits) et supérieur (32 bits).
61
swatkat

Dans l'Explorateur Windows, cliquez avec le bouton droit sur portmon.exe -> sélectionnez Propriétés -> cliquez sur l'onglet Compatibilité et exécutez dans Windows XP mode de compatibilité. Cela fonctionne très bien comme que dans Windows 7 64 bits.

9
Dom

"L'erreur 2" est "Impossible de trouver le fichier spécifié", c'est-à-dire, ne peut pas trouver un fichier DLL DLL requis.

À l'origine, vous avez obtenu cette erreur lorsque vous avez essayé d'exécuter Portmon à partir d'un emplacement réseau: cela a rompu l'approbation de sécurité, provoquant la non-confiance de Portmon (ou peut-être simplement gâcher le chemin de recherche d'une manière ou d'une autre).

Sur ma copie de Windows 7 64 bits, Microsoft Dependency Walker (depend.exe) me dit que PORTMSYS.SYS (le fichier créé/chargé par Portmon.exe), a des dépendances non résolues sur ci.dll, clfs.sys, hal.dll et kdcom.dll.

Ce sont les

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

bibliothèques, et ils ne sont pas réellement manquants: s'ils l'étaient, Windows ne démarrerait pas. Cependant, je ne vois pas de copie de ces fichiers dans SysWow64. Cela me suggère que le problème n'est pas avec portman.sys: le problème est avec la couche de compatibilité win32 dans Windows 7/64 bit: il ne prend pas correctement en charge le débogage.

Nous sommes en 2018. Il n'y a pas de version 64 bits de Portmon. Les ports série sont une norme héritée. Le problème de Windows 7 a été résolu par la sortie de Windows 8.1. Cependant, il y a une faible chance que certains utilitaires Visual Studio ou mises à jour de sécurité back-portés vers Windows 7 résolvent le problème. Peut-être que quelqu'un qui connaît SysWow et le débogage commentera.

3
david

Au lieu de portmon pour Windows x64, vous pouvez utiliser un émulateur d'une paire de ports COM virtuels et un programme simple qui connectera le port physique et l'un des ports virtuels, ainsi que d'effectuer la fonction de journalisation.

Pour créer une paire de ports COM virtuels, vous pouvez utiliser:

  • com0com (de préférence la version "com0com-2.2.2.0-x64-fre-signed", car elle contient un pilote x64 signé)
  • Virtual Serial Ports Emulator (VSPE), chaque fois qu'il démarre sur x64, il demande d'acheter un pilote, mais cela fonctionne même si vous refusez.

Un programme de cartographie et de journalisation simple peut être trouvé, par ex. ici ou vous pouvez l'écrire vous-même, c'est simple.

La séquence d'actions est la suivante:

  • Créez une paire de ports COM virtuels à l'aide de l'émulateur (par exemple, COM28 et COM29)
  • Laissez le périphérique externe connecté au port COM1 de l'ordinateur. Dans le programme, dont nous voulons écouter l'échange avec un appareil externe, nous avons configuré un port COM28 (au lieu de СОМ1) pour la communication.
  • Dans le programme de mappage, nous avons configuré que nous voulons lier et enregistrer les ports COM1 et COM29 (n'oubliez pas de définir la vitesse de transmission du port).
2
Dmitro25

J'ai utilisé AccessPort http://sudt.com/en/ap/download.htm et cela fonctionne très bien. Très similaire à Portmon

1
codevision

Je ne l'ai pas encore essayé, mais cette question mentionne com0com . Il crée deux ports série virtuels et émule un câble null modem entre eux. Il prétend pouvoir fonctionner sur Windows 64 bits. Je ne sais pas s'il est livré avec un logiciel qui vous permet de diriger simplement l'entrée d'un port réel vers l'un des ports virtuels. L'une des FAQ dit que vous pouvez activer la journalisation.

Je suppose que dans le pire des cas, vous pouvez écrire votre propre petit programme qui canalise les données d'un port réel vers l'un des ports virtuels et enregistre le tout.

Il y a aussi cette question sur les alternatives open-source qui mentionne quelques projets.

1
Don Kirkby

Ne démarrez pas Portmon depuis un lecteur/chemin réseau ou autre chose.

Copiez sur le disque dur, par ex. sur le bureau, redémarrez et réessayez!

0
Found elswhere

Si vous exécutez Portmon en mode de compatibilité, cela fonctionnera.

Cochez Faire fonctionner des programmes plus anciens dans cette version de Windows.

Ça dit:

Pour exécuter l'utilitaire de résolution des problèmes de compatibilité des programmes:

  1. Ouvrez l'utilitaire de résolution des problèmes de compatibilité des programmes en cliquant sur le bouton Démarrer Image du bouton Démarrer, puis sur Panneau de configuration. Dans la zone de recherche, tapez utilitaire de résolution des problèmes, puis cliquez sur Dépannage. Sous Programmes, cliquez sur Exécuter les programmes créés pour les versions précédentes de Windows.
  2. Suivez les instructions de l'utilitaire de résolution des problèmes.

Ce qui précède est une explication publique de Microsoft pour une situation courante lors de l'exécution d'anciennes applications dans Windows.

Mais, je peux le dire brièvement;

  1. Faites un clic droit sur portmon.exe
  2. Sélectionnez le menu "Dépannage du problème de compatibilité" ou quelque chose comme ça (j'utilise une version étrangère de Windows, donc je ne vois pas le nom correct de ce menu en anglais.)
  3. Sélectionnez le mode automatique
  4. Il détectera le problème et recommandera le mode Windows XP (SP2)
  5. Sélectionnez-le et exécutez à nouveau Portmon.

J'espère que ça marche!

0
Taehoon Kee