Wir testen derzeit einen Bugfix für eine alte VB6-Anwendung, die ursprüngliche Version des Programms würde die PID erhalten und speichern Sie es in einem int, und schreiben Sie es dann in die Datenbank. Dies funktioniert gut, bis Ihre Anwendung eine PID höher als 32768 zugewiesen bekommt. In diesem Fall erhalten Sie einen Überlauf und die Anwendung stirbt.Erzwingen einer hohen PID in Windows
Wir haben dies behoben, indem wir alles auf lang statt auf int geändert haben. Aber jetzt haben wir ein Problem beim Testen. Wir sehen dieses Problem nur selten in unseren Produktionsumgebungen (aber mit verheerendem Effekt, wenn es auftritt) und nie beim Testen. Ich habe versucht, eine hohe PID zu provozieren, indem ich eine Menge Programme hervorbrachte, aber ich schaffte es nie, PID 25000 zu überholen.
Ich fand ein Tool namens HighPid (http://winprogger.com/?p= 29), aber leider scheint es seine Versprechen nicht zu erfüllen. Hat also jemand da draußen ein ähnliches (aber funktionierendes) Werkzeug oder einen anderen Trick, um eine hohe PID auf einem Windows-Server zu erzwingen?
Warum nicht fälscht die hohe PID in Ihrem Code? –
Ich wollte keinen zusätzlichen Testcode zu einer bereits kniffligen VB6-App hinzufügen, die verschrottet wird, sobald eine neue App in .Net verfügbar ist. Dies ist nur um uns dabei zu überbrücken. – Grubsnik