Userdump
HP 10.10.2005 - 11:24 1296 11
HP
Legend Legend
|
Ich such ein Tool aehnlich userdump.exe, mit dem ich einen bestimmten Prozess ueberwachen kann. Sobald der Prozess haengen bleibt oder irgendeinen Fehler verursacht, wird ein Dumpfile geschrieben.
DrWatson faellt aus (geht nicht auf einen bestimmtem PID), userdump.exe ist leider sehr buggy unter WS2003.
Gibts da irgendwas?
Thx!
|
SYSMATRIX
Legend Legend
|
wie wärs mit im debugger starten und warten? (falls deine binary mit debug symbols kommt)
wie ich gerade sehe gibts es von MS so ein debuging symbols server der alle symbols haben sollte. (da gibts so ein Debugging Tools for Windows Kit mit WinDbg usw.)
|
HP
Legend Legend
|
Jup, mit WnDbg kann ich die Dumps gut auswerten, aber das bringt mich leider wenig weiter. Ausserdem moecht ich auch nicht allzu komplexe Sachen installieren. Ist ein Produktivbetrieb und ich moecht eigentlich nur diesen speziellen Fall dumpen. Ich hab gehofft, da gibts ein kleines Tool, das genau das kann
|
that
Hoffnungsloser Optimist
|
Was spricht gegen DrWatson? Es werden ja hoffentlich nicht so viele Prozesse regelmäßig abstürzen, dass das Finden des relevanten Prozesses umständlich wäre?
Falls es wirklich nötig wird, könnte man selbst etwas basteln - im AeDebug Key in der Registry steht ja, was im Crashfall aufgerufen werden soll, da könnte man einen selbst gebauten DrWatson Filter einbauen, der nur bei bestimmten Prozessen dumpt.
|
HP
Legend Legend
|
Mit DrWatson kann ich leider keinen Prozess eines Users abfangen, da ginge nur das ganze Dump des Users -> zuviel. Bin fuer Beispiele offen, wie du dir das denkst
|
that
Hoffnungsloser Optimist
|
Ich bin davon ausgegangen, dass du im Fall, dass ein Prozess crasht, einen Dump haben willst. Dann wird nämlich das Programm laut Registry-Key gestartet, und das kann im Prinzip machen was du willst. Oder wolltest du andere Trigger-Events? (wie definierst du "hängt"?)
Und was meinst du mit "Mit DrWatson kann ich leider keinen Prozess eines Users abfangen, da ginge nur das ganze Dump des Users -> zuviel."? DrWatson dumpt keine User, sondern gecrashte Prozesse.
|
shodan
Here to stay
|
|
HP
Legend Legend
|
Ich bin davon ausgegangen, dass du im Fall, dass ein Prozess crasht, einen Dump haben willst. Dann wird nämlich das Programm laut Registry-Key gestartet, und das kann im Prinzip machen was du willst. Oder wolltest du andere Trigger-Events? (wie definierst du "hängt"?)
Und was meinst du mit "Mit DrWatson kann ich leider keinen Prozess eines Users abfangen, da ginge nur das ganze Dump des Users -> zuviel."? DrWatson dumpt keine User, sondern gecrashte Prozesse. Das stimmt. Ich kann aber einen DrWatson nicht auf Terminal Server Ebene mitlaufen lassen (in meinem speziellen Fall).
|
HP
Legend Legend
|
Hm. Habs mit DrWatson versucht, der schreibt aber kein Dump, sobald die EXE abstuerzt. Ideen? Der Vorgang ist folgender: User startet App am Terminal Server (nur die App, keinen Desktop (!)), irgendwann, bei irgendeinem Vorgang stuerzt der Citrix Client (wfshell) ab. Genau das moecht ich dumpen, nur wird kein Dump erstellt.
|
that
Hoffnungsloser Optimist
|
|
that
Hoffnungsloser Optimist
|
Moment ... du startest den Citrix Client über den Terminal Server? Das ist ja fast so krank wie ich früher über Citrix VNC gestartet habe, um an meine Workstation in der Firma zu kommen...
|
HP
Legend Legend
|
Hehe.
Nein: die veroeffentlichte App wird vom ICA Client gestartet. Am Server rennt dann fuer jede User Instanz eine wfshell.exe
Ich hab das Problem schon gefunden, User hatte keine Rechte fuer DrWatson und somit hat sichs eruebrigt.
Hab das anders geloest: HKLM\Software\Microsoft\Windows NT\Current Version\AeDebug Debugger REG_SZ "M:\PROGRAM Files\Debugging Tools for Windows\ntsd.exe" -p %ld -e %ld -g -noio -c ".dump /f /u M:\dumps\wfshell.dmp; q"
ntsd aus den Debugging Tools.
|