Thema: Delphi Speicher überwachen

Einzelnen Beitrag anzeigen

Benutzerbild von Neutral General
Neutral General

Registriert seit: 16. Jan 2004
Ort: Bendorf
5.219 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#5

Re: Speicher überwachen

  Alt 26. Nov 2009, 13:16
Es ist ein eigener Prozess.

Also ich habe gerade mal etwas rumprobiert und war auch theoretisch recht erfolgreich:

Delphi-Quellcode:
TForm1 = class(TForm)
  private
    { Private-Deklarationen }
  public
    n: Integer;
  end;

implementation

function GetExceptionStackInfoProc(P: PExceptionRecord): Pointer;
begin
  PInteger(p^.ExceptObject)^ := 20;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  Exception.GetExceptionStackInfoProc := GetExceptionStackInfoProc;
end;

procedure TForm1.Button1Click(Sender: TObject);
var op: Cardinal;
begin
  n := 10;
  VirtualProtect(@a,4,PAGE_EXECUTE_READWRITE or PAGE_GUARD,op);
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
  Caption := IntToStr(n); // n = 20, falls vorher auf Button1 geklickt wurde
end;
Generell ist das also super. Allerdings scheint es dieses Exception.GetExceptionStackInfoProc-Feature erst in neueren Delphi Versionen zu geben. Wäre ganz gut wenn das auch in älteren ginge.

Gruß
Neutral General
Michael
"Programmers talk about software development on weekends, vacations, and over meals not because they lack imagination,
but because their imagination reveals worlds that others cannot see."
  Mit Zitat antworten Zitat