Es ist banaler als Sie denken
Das Durchsehen der Liste der Prozesse auf einem Windows-Computer mithilfe des Task-Managers ist ein Rezept für Paranoia. Es laufen viele seltsam klingende Programme und Sie können normalerweise nicht wissen, was gut oder schlecht für Ihren PC ist. Der COM-Surrogat dllhost.exe ist nur einer dieser Prozesse, aber er ist viel banaler, als Sie vielleicht denken.
Was ist COM Surrogate (dllhost.exe)?
COM ist die Abkürzung für Component Object Model. Microsoft hat es Anfang der 90er Jahre eingeführt, um Programmierern die Erweiterung der Funktionalität bestehender Software zu erleichtern. Mit anderen Worten handelt es sich um eine Art Plugin-System, mit dem Sie bestehenden Programmen wie dem Windows Explorer neue Funktionen hinzufügen können .
Dies ist großartig, um die Leistung eines Programms dynamisch zu verbessern, hat aber auch einen Nachteil. Wenn ein COM-Modul schlecht codiert ist oder aus irgendeinem Grund abstürzt, stürzt auch das Programm ab, an das es angeschlossen ist. Das liegt daran, dass sowohl das COM- als auch das Hauptprogramm als ein Prozess ausgeführt werden.
Hier kommen COM Surrogate ins Spiel. Bei diesem Ansatz läuft COM in einem eigenen separaten Prozess, als wäre es ein eigenes Programm. Das Hauptprogramm und die COM Surrogate-Prozesse kommunizieren bei Bedarf miteinander. Wenn das COM Surrogate jedoch aus irgendeinem Grund abstürzt, führt dies nur zum Absturz seines eigenen Prozesses. Dies führt insgesamt zu einem viel stabileren System.
Ist COM Surrogate (dllhost.exe) sicher?
Ob dllhost.exe sicher ist, ist eine schwierige Frage, da sie von dem jeweiligen ausgeführten COM abhängt. Normalerweise hosten sie harmlose Prozesse, die nützliche Dinge tun, aber es ist durchaus möglich, dass ein schlecht codiertes COM oder Malware, die sich auf das COM-Ersatzframework stützt, Schaden anrichtet oder bösartigen Code ausführt.
So finden Sie den Standort von COM Surrogate
Es gibt nur einen legitimen Speicherort für die Datei dllhost.exe, und zwar im Ordner System32 innerhalb des Windows-Ordners. Der Standardpfad lautet Windows > System32 auf dem Systemlaufwerk. Das Systemlaufwerk ist normalerweise das Laufwerk C. Wenn Sie diese Datei irgendwo anders finden, handelt es sich möglicherweise um einen Virus. Scannen Sie sie also unbedingt!
Überprüfung der Legitimität von COM Surrogate
Wie oben erwähnt, handelt es sich bei dem COM-Surrogat, das Sie im Task-Manager sehen, nicht um eine bestimmte Anwendung, sondern nur um eine Shell für einen anderen Prozess. Da wir nicht ohne weiteres Einblick in das bekommen, was in einem bestimmten COM-Surrogat-Prozess tatsächlich ausgeführt wird, besteht die einzige wirkliche Möglichkeit, auf verdächtiges Verhalten zu prüfen, in der Verwendung eines Antivirenprogramms.
Natürlich sollten Sie Ihr Antivirenprogramm ohnehin in regelmäßigen Abständen ausführen, aber wenn Sie einen COM-Surrogat sehen, der viele Ressourcen verbraucht oder Systeminstabilität verursacht, kann das eine Erklärung sein.
Andererseits ist der fragliche COM-Ersatzprozess möglicherweise nur fehlerhaft und nicht bösartig. Wenn Sie alle Ihre Dokumente gespeichert haben, können Sie versuchen, einen bestimmten COM-Ersatzprozess zwangsweise zu beenden, um herauszufinden, was er tut. Was direkt nach dem Beenden des Prozesses abstürzt oder hängt, ist wahrscheinlich das zugehörige Programm. Sobald Sie den wahrscheinlichsten Schuldigen identifiziert haben, sollten Sie Ihren Computer neu starten.
Beheben von COM Surrogate Fehlern
COM Surrogate-Fehler treten von Zeit zu Zeit auf und sind wahrscheinlich der häufigste Grund, warum Leute überhaupt nach dem Namen des Prozesses suchen. Der Fehler „COM Surrogate funktioniert nicht mehr“ mag auf den ersten Blick kryptisch erscheinen. Jetzt, da Sie wissen, was COM Surrogate tut, ist es offensichtlich, dass der Prozess tatsächlich seine Arbeit tut.
Der COM-Surrogat soll Programm-Erweiterungen davor schützen, den Hauptprozess, den sie erweitern, zum Absturz zu bringen. Die Ursache dieses Fehlers lässt sich also auf das COM-Modul zurückführen, das innerhalb des Surrogats ausgeführt wurde.
Es gibt keine einfache Möglichkeit herauszufinden, um welchen COM es sich handelt, da der Surrogat selbst den darin enthaltenen COM maskiert. Es gibt mehrere mögliche Verdächtige:
- Video-Codecs von Drittanbietern sind veraltet. Wenn Sie welche haben, entfernen oder aktualisieren Sie sie.
- Ihr Antivirenprogramm stört möglicherweise den COM-Surrogat. Deaktivieren Sie es vorübergehend. Wenn dies das Problem zu sein scheint, wechseln Sie zu einem anderen Antivirenprogramm oder versuchen Sie, Ihr Programm gegebenenfalls auf die neueste Version zu aktualisieren.
- Überprüfen Sie Ihre Festplatte mit einem Dienstprogramm wie CHKDSK auf Fehler .
- Überprüfen Sie Systemdateien mit dem System File Checker auf Beschädigungen .
- Machen Sie aktuelle Treiberaktualisierungen rückgängig oder aktualisieren Sie insbesondere Anzeige- und Druckertreiber. Probieren Sie sowohl den Standard- GPU-Treiber des Herstellers als auch die OEM-Version aus, falls diese auf Ihren Computer zutrifft.
Wenn Sie wissen möchten, wie Sie genau diagnostizieren, welcher COM innerhalb des Surrogats ausgeführt wird, gibt es eine technischere Lösung.
Überprüfen eines COM-Ersatzprozesses mit Process Explorer
Microsoft bietet ein optionales Dienstprogramm namens Process Explorer an. Es ist für verschiedene Dinge nützlich. Wenn Ihnen beispielsweise mitgeteilt wurde, dass Sie einen Ordner löschen können, weil ein Programm ihn geöffnet hat, können Sie mit Process Explorer feststellen, um welches Programm es sich handelt, und es zwangsweise schließen, ohne den gesamten Computer neu starten zu müssen.
Laden Sie einfach Process Explorer herunter und führen Sie es aus. Daraufhin wird ein Fenster wie das folgende angezeigt:
Denken Sie daran, dass COM Surrogate eigentlich dllhost.exe heißt. Suchen Sie also danach und bewegen Sie den Mauszeiger über den Eintrag. Im kleinen Popup sehen Sie, welche DLL-Datei gehostet wird. Normalerweise erhalten Sie hieraus genügend Informationen, um zu wissen, welches Programm damit verbunden ist. Wenn es aus dem DLL-Namen nicht klar hervorgeht, können Sie es googeln, um eine genauere Antwort zu erhalten system thread exception not handled.
COM ist zu einer Party da
Zusammenfassend wissen Sie jetzt, was COMs sind, was ein COM-Ersatz macht, wie Sie die häufigsten Probleme beheben und wie Sie herausfinden, mit welchem COM Sie es zu tun haben. Damit sind Ihre COM-bezogenen Probleme hoffentlich endgültig gelöst.