Project

General

Profile

Actions

Support Request #12340

closed

Analyze Memory Leaks

Added by hidden over 3 years ago. Updated over 2 years ago.

Status:
Closed
Priority:
Normal
Customer:
AUDI
Department:
EF
Requester's Priority:
Normal
Support Level:
2nd Level
Resolution:
Solved Issue
Product Issue Numbers:
Affected Products:
Platform:
Windows 10 64bit
Topic:
ADTF::Common
FAQ Links:

Description

Supportanfrage

könnt ihr mir sagen, wie sich ADTF verhält, wenn kein Speicher mehr verfügbar ist?
Wenn ein Filter beispielsweise ständig Memory-Leaks verursacht, stützt ADTF dann irgendwann ab? Wenn ja, wird der Log-Output dann noch gespeichert, sodass ich den Absturz dann analysieren kann?

Lösung

Das kann man leider nicht allgemein beantworten, da prinzipiell jeder Filter jederzeit Speicher am heap anlegen kann und es dann darauf ankommt ob er das behandelt. Wenn er das über new in einer Funktion eines Filters macht müssten wir aber zumindest die std:bad_alloc exception abfangen und in einen Fehler umwandeln. Da aber auch das Speicher benötigt, kann man das nicht garantieren. alloc_sample (output_sample_data<>) etc. sollten den Fehler aber korrekt fangen.

Ich würde aber vermuten, dass du letztendlich bei diesen Problemen mit einem Crash-Dump fast besser bedient bist.

Das Log wird im Crash Handler von ADTF nicht gesondert behandelt, heißt das was bisher geschrieben wurde ist drin, mehr nicht. Hier kann eben leider der Schreibpuffer dazu führen, dass da nicht wirklich alles auf der Platte gelandet ist.

Wenn man den lancher aber mit --log ... startet, dann wird das log file erzeugt und der Nutzer kann die Meldungen des Filters analysieren.
Der Weg sollte für die künftigen Nutzer machbar sein.

Actions

Also available in: Atom PDF