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:
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?
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:
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.
"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.
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:
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:
J'ai utilisé AccessPort http://sudt.com/en/ap/download.htm et cela fonctionne très bien. Très similaire à Portmon
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.
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!
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:
- 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.
- 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;
J'espère que ça marche!