Wie kann man überprüfen, welche Dateien ich auf Windows fopen'ed?
Frage
Ich erhielt einen „Zu viele offene Dateien“ Fehler, wenn versucht fopen zu tun (C ++, Windows XP). Wahrscheinlich geschah es, weil irgendwo in meinem Programm, das ich offene Dateien, ohne sie zu schließen.
Gibt es eine Möglichkeit unter Windows eine Liste aller geöffneten Dateibeschreibungen zu sehen (oder alle Dateien, die mein Programm fopened)?
Lösung
Sie können eine Liste von offenen Handles finden in Process Explorer . Sie können auch alle offenen Handles im System suchen.
Andere Tipps
So etwas wie diese Macht beof Verwendung ...
Meine Wahl in einem solchen Fall ist die Sysinternals Process Explorer .
Anstatt Blick für einen Windows-API, es zu tun, warum nicht halte Spur von ihm selbst? Schreiben Sie eine Funktion, die das Öffnen und Schließen für Sie zu tun, und wenn sie aufgerufen sind, zu verfolgen, was geöffnet und / oder geschlossen werden.
Sie haben die Informationen, so versuchen, es aus einer anderen Quelle zu bekommen scheint wenig Sinn für mich zu machen.