Avatar billede lojmann Nybegynder
04. december 1999 - 21:10 Der er 14 kommentarer og
1 løsning

Skrive til RAM?!?!?

Hejsa...

Hvordan får jeg Delphi 3 til at putte noget data ind i RAM'en???

Det data den skal putte ind, skal være noget "random generet" data, som ikke skal bruges til noget...


Kan i hjælpe mig???
Avatar billede retep Nybegynder
05. december 1999 - 03:15 #1
Hmmmm, hvergang du opretter en variabel, putter du data ind i rammene. Jeg forstår ikke helt hvad det er du vil...

Avatar billede retep Nybegynder
05. december 1999 - 03:38 #2
Et eksempel:

Type
  TUdfyldArray = Array[1..10000] of integer;

Var
  UdfyldArray: TudfyldArray;
  i : Integer;

Begin
  For i := 1 to 10000 do
    UdfyldArray[i] := Random(5000);
end;

Har ingen ide om hvorvidt det er sådan noget du leder efter... :-)
Avatar billede lojmann Nybegynder
05. december 1999 - 11:46 #3
Okay, jeg fik vidst ikke lige skrevet hvad jeg mente...;-(

Det jeg skal bruge, er en kode som skriver en masse data til RAM'en, så den bliver fyldt op MEGET hurtig!!!

Efter den er fyldt op skal den bare blive ved med at forsøge at fylde data i RAM'en!!!
Avatar billede retep Nybegynder
05. december 1999 - 15:15 #4
Hvad med en rekursiv procedure, den creater objekter til rammene er fyldt op og tjaa, så har man prøvet det :-)

Og da den er rekursiv, så går det MEGET hurtigt!!!
Men det eneste du får ud af det er en stackoverflow...???


Interface

Type
  TEtellerAndet= Class
  private
    sdfsDF:integer;
    dsfsdf:string;
    dfdsfd:double;
  end;

implementation

Procedure Crash;
Var
  EtEllerAndet : TEtEllerAndet;
Begin
  EtEllerAndet.Create;
  Crash;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
crash;
end;
Avatar billede lrj Nybegynder
05. december 1999 - 15:43 #5
Hmm, endnu en wannabe-virus-programmør?
Avatar billede lojmann Nybegynder
05. december 1999 - 16:44 #6
retep --> Jeg tester lige...;-)

lrj --> NEJ! Det har ikke noget med virus, trojanske heste eller andet skidt som skal sendes ud til uskyldige mennesker, men blodt et lille projekt som bliver holdt inde for min computer!!!
Avatar billede lrj Nybegynder
05. december 1999 - 18:01 #7
Hmm, hvis du vil undgå et stack overflow, kunne du jo bare lave en

while true do
begin
  etellerandet.create;
end;


Intet stack overflow så, men en uendelig løkke..
Avatar billede lojmann Nybegynder
05. december 1999 - 18:07 #8
Hej igen!!!

Din kode virkede desværre ikke helt!!!

Jeg skal have have en kode, som laver STACK OVERFLOW, eller som bare æder alle de recourcer som Windows har tilbage!!!

(Jeg laver det i Delphi 3.)
Avatar billede lojmann Nybegynder
05. december 1999 - 18:08 #9
Jeg vil ikke undgå den, jeg vil bare have noget som æder alle recourser i Windows, så BSOD kommer frem...,-)
Avatar billede lrj Nybegynder
05. december 1999 - 18:32 #10
lojmann> Jeg fatter stadig ikke hvad du skal bruge det til, men hvis du laver et API-kald som er tilpas forkert, kan du bringe windows i knæ...

Avatar billede lojmann Nybegynder
05. december 1999 - 19:03 #11
lrj> Nej, det kan jeg godt forstå, det er også svært at forklarer - så det undlader jeg!

MEN, kan du ikke poste et API-kald, som fucker up i Win???
Avatar billede lrj Nybegynder
05. december 1999 - 20:14 #12
Haha, sgu ikke før du siger hvad det skal bruges til.
Avatar billede retep Nybegynder
05. december 1999 - 21:16 #13
Du skriver at du skal bruge kode, der laver stack overflow, og det er netop hvad det jeg har sendt til dig gør???
Avatar billede snorga Nybegynder
05. december 1999 - 21:18 #14
Hvis du bare vil æde alt fri ram:
----------------------------------

procedure EatRam;
var p:pointer;
begin
  While True Do
    GetMem(p,1024);
end;
Avatar billede lojmann Nybegynder
09. december 1999 - 21:50 #15
Det var noget som var efektivt, dog ikke så meget på NT og på lidt ældre maskiner...

Tak for hjælpen...
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester