Gedächtnis verloren und gefunden... und freigegeben
Roy Nelson war erstaunt feststellen, dass viele DLLs Delphi geschrieben wurden regelmäßig Arbeitsspeicherbereiche: nach der Ursache aufspüren, er Arbeiten finden einen praktikablen Stecker auf was erwies sich als ziemlich schwierig Leck festgelegt.
Dieser Artikel wurde lange in der Herstellung: alles begann vor zwei Jahren, nach einem Gespräch mit einem früheren Kollegen. Das Gespräch, zentriert auf die Tatsache, dass sie Probleme mit ihrer ISAPI-DLLs in Delphi geschrieben wurden. Es schien, als ob die DLLs 4Kb Speicher undicht waren, jedes Mal, wenn sie in den Arbeitsspeicher geladen wurden. Schließlich umgestellt sie auf CGI, um das Problem zu beheben.
Meine Reaktion war: 'was? Mein Delphi Gedächtnis zu verlieren? Nie!' Ich dies weitere nicht zu jener Zeit untersuchen. Vor etwa zwei Monaten ich jemanden sah erwähnen jedoch ein 'bekannten' Leck in der VCL auf eine Newsgroup. Ich war fasziniert, wie die magische Zahl von 4Kb erwähnt wurde. Jeder schien zu wissen, über dies und noch was das Leck verursacht wurde. Was war denn hier los? Dann hatte ich einen Blick auf den Code und ich sah, warum es hatte nicht angeschlossen.
Dieses Leck in Delphi DLLs Exponate selbst nur unter bestimmten Bedingungen. Die wichtigste Voraussetzung ist, dass die Steuerelemente-Einheit hat irgendwo in den Einheiten verwendet, um die DLL kompilieren verwiesen werden. Zweitens muss die DLL nicht machen-Pakete verwenden. Schließlich die DLL explizit geladen werden muss und Entladen über die LoadLibraryXX und FreeLibrary API-Aufrufe.
Klicken SIE hier, um den ganzen Artikel.
Gedächtnis verloren und gefunden... und freigegeben
Gedächtnis verloren und gefunden... und freigegeben : Mehreren tausend Tipps, um Ihr Leben einfacher machen.
Roy Nelson war erstaunt feststellen, dass viele DLLs Delphi geschrieben wurden regelmäßig Arbeitsspeicherbereiche: nach der Ursache aufspüren, er Arbeiten finden einen praktikablen Stecker auf was erwies sich als ziemlich schwierig Leck festgelegt.
Dieser Artikel wurde lange in der Herstellung: alles begann vor zwei Jahren, nach einem Gespräch mit einem früheren Kollegen. Das Gespräch, zentriert auf die Tatsache, dass sie Probleme mit ihrer ISAPI-DLLs in Delphi geschrieben wurden. Es schien, als ob die DLLs 4Kb Speicher undicht waren, jedes Mal, wenn sie in den Arbeitsspeicher geladen wurden. Schließlich umgestellt sie auf CGI, um das Problem zu beheben.
Meine Reaktion war: 'was? Mein Delphi Gedächtnis zu verlieren? Nie!' Ich dies weitere nicht zu jener Zeit untersuchen. Vor etwa zwei Monaten ich jemanden sah erwähnen jedoch ein 'bekannten' Leck in der VCL auf eine Newsgroup. Ich war fasziniert, wie die magische Zahl von 4Kb erwähnt wurde. Jeder schien zu wissen, über dies und noch was das Leck verursacht wurde. Was war denn hier los? Dann hatte ich einen Blick auf den Code und ich sah, warum es hatte nicht angeschlossen.
Dieses Leck in Delphi DLLs Exponate selbst nur unter bestimmten Bedingungen. Die wichtigste Voraussetzung ist, dass die Steuerelemente-Einheit hat irgendwo in den Einheiten verwendet, um die DLL kompilieren verwiesen werden. Zweitens muss die DLL nicht machen-Pakete verwenden. Schließlich die DLL explizit geladen werden muss und Entladen über die LoadLibraryXX und FreeLibrary API-Aufrufe.
Klicken SIE hier, um den ganzen Artikel.
Gedächtnis verloren und gefunden... und freigegeben
By Wiezutun
Gedächtnis verloren und gefunden... und freigegeben : Mehreren tausend Tipps, um Ihr Leben einfacher machen.