webForumDet fria alternativet

Program som genererar fel i Win2000

13 svar · 301 visningar · startad av mott

mottMedlem sedan juni 2000836 inlägg
#1

När ett program kraschar så står det ju något i stil med "Illustrator.exe har genererat ett fel och kommer att avslutas".

Visst, det är "helt OK", men saken är den att efter den rutan visat sig så arbetar hårddisken febrilt i ungefär två minuter (och det är ingen överdrift!) innan programmet ens stängs. Under den tiden är det nästan omöjligt att arbeta med datorn eftersom muspekaren hackar och allt går segt.

Kan man inte ställa in så att den inte dumpar arbetsminnet eller vad det nu är den gör som är så *#!¤%"%& hårddiskkrävande??

------------------
Daniel Mott
________________
My God, it's full
of stars! * * * *

MorphMedlem sedan juli 2000472 inlägg
#2

Visst kan du det

Control Panel -> System -> Advanced -> Startup And Recovery

------------------
/Morph

Tech Support: "I need you to boot the computer."
Customer: (THUMP! Pause.) "No, that didn't help."

mottMedlem sedan juni 2000836 inlägg
#3

Där har jag redan ställt in följande för länge sedan:

EJ skriva en händelse i systemloggen
EJ skicka en administrativ varning
EJ starta om automatiskt

Skriv felsökningsinformation: (Ingen)

---

Något jag gjort fel?? :(

------------------
Daniel Mott
________________
My God, it's full
of stars! * * * *

mottMedlem sedan juni 2000836 inlägg
#4

Bara jag som har det här problemet eller?

Morph, hur har du ställt in det och avslutas program fort när de hänger sig i ditt Win2000?

------------------
Daniel Mott
________________
My God, it's full
of stars! * * * *

ReeferMedlem sedan dec. 20002 114 inlägg
#5

Gå in på program/tillbehör/systemverktyg >> systeminformation, gå in på menyn "verktyg" >> windows >> "DR Watson", klicka på den, nu får du en liten inställningspanel, klicka bort samtliga som är ikryssade, klicka på "ok" -sådär, klart! :e

------------------

"Develop for it? I'll piss on it."
Microsoft CEO Bill Gates, about developing
applications for Steve Jobs' NeXT Computers -
which led to the demise of NeXT in 1993.

mottMedlem sedan juni 2000836 inlägg
#6

Yippie! *skriver upp i anteckningsblocket*

Tack!

------------------
Daniel Mott
________________
My God, it's full
of stars! * * * *

RikardMedlem sedan dec. 19998 623 inlägg
#7

Men kom inte hit sen och be om hjälp... ;)
Det du precis har stängt av är A och O vid en felsökning - bara så du vet. :)

mottMedlem sedan juni 2000836 inlägg
#8

Jo, jag vet, men jag klarade mig utmärkt utan det i Windows 98, så jag klarar mig så bra så utan det i Win 2000 med... ;)

------------------
Daniel Mott
________________
My God, it's full
of stars! * * * *

ReeferMedlem sedan dec. 20002 114 inlägg
#9

Det du precis har stängt av är A och O vid en felsökning - bara så du vet.

Hm, jo -och det är ju så ofta som vanliga användare får någonting vettigt ut av dom där dumparna (läs:inte hårdingar som du och jag) ;)

------------------

"Develop for it? I'll piss on it."
Microsoft CEO Bill Gates, about developing
applications for Steve Jobs' NeXT Computers -
which led to the demise of NeXT in 1993.

BinaryianMedlem sedan mars 200177 inlägg
#10

Var kan jag finna information om hur man läser ur dumparna och får fram lite mer förstålig data?

------------------
Lord, make my words sweet and tender today, for tomorrow I may have to eat them...

[Redigerat av Binaryian den 26 apr 2001]

ReeferMedlem sedan dec. 20002 114 inlägg
#11

Jag använder själv MS egen Debugger för detta, finns här;
http://www.microsoft.com/downloads/release.asp?releaseid=18937

OBS! bara för Windows 2000.

------------------

"Develop for it? I'll piss on it."
Microsoft CEO Bill Gates, about developing
applications for Steve Jobs' NeXT Computers -
which led to the demise of NeXT in 1993.

mottMedlem sedan juni 2000836 inlägg
#12

blank

------------------
Daniel Mott
________________
War Is Peace. Ignorance Is Strength. Freedom Is Slavery.
1984, George Orwell
[: E-posta gärna. :]
Hur skulle du rösta om det varit EU-val idag?

SirPeterMedlem sedan feb. 20018 958 inlägg
#13

Var kan jag finna information om hur man läser ur dumparna och får fram lite mer förstålig data?

Kom på ett sätt att penetrera Rikards hjärna och ta en skärmdumt på det så har du rubbet. :e
Det är på gränsen till onormalt att kunna det han kan har jag märkt. ;)

developerMedlem sedan aug. 2001453 inlägg
#14

Dumparna är nästan alltid helt värdelösa om exempelvis "Illustrator.exe" kraschar. Det är alltid buggar i programmen (pga undermåliga tester innnan de släpps). Man kan se att det programmet läser från eller skriver till minne som den inte äger, typiskt NULL. Men det är bara assembly-kod man kan studera, och det är värdelöst.

Dumpar är däremot extremt viktig felsökningshjälp i egna program. Anta man själv har ett program ute hos en kund och har ställt in Dr Watson på "Create Crash Dump Files" på kundens dator. När man får .dmp, är det viktigt att ha kvar alla .dll:er .exe-filer samt symbolerna (.pdb) till dessa och förstås matchande källkod.

Då kan man ladda in detta i efterhand i windbg (Microsofts debugger http://www.microsoft.com/ddk/debugging) och få fram exakt var det crashade samt call-stack och se variabler, register etc. och på så sätt se vad som hänt.
Man bör installera symboler till OS:et, finns att hämta på http://www.microsoft.com/windows2000/downloads/servicepacks/sp2/debug eller vilket service pack man nu har. Det underlättar debuggningen genom att man kan se bättre vad som hänt nere i MS dll:er (kernel32.dll osv).

Man installerar symboler och windbg. Ställ in drwtson på att generera dump-filer, se http://support.microsoft.com/support/kb/articles/Q121/4/34.asp , http://msdn.microsoft.com/library/default.asp?url=/library/en-us/regentry/11500.asp och http://msdn.microsoft.com/library/default.asp?url=/library/en-us/regentry/1704.asp?frame=true .

Gör ett enkelt program som krashar, typ:

void main()
{
    printf("nu börjar det\n");
    char *p=0;
    *p='a'; // Aj, det här smäller
    printf("nu är det över\n");
}

Kör detta, och se till att du hittar var .dmp-filen hamnar (observera att du inte ska köra det under debuggern, eftersom den kommer att hugga second-chance exception då istället för dr watson).

Öppna windbg, välj "open crash dump". Ställ in symbol-path dit dina pdb:er ligger och source-code path där källkoden finns. Man måste eventuellt skriva .reload efter och trycka enter för att den ska hitta symbol-filerna. Sen kan du hitta call-stacks, klicka på den och hamna på källkoden där det smällde.

Man kan även med 'userdump' forcera .dmp-filer från en process som dead-lockar, och i efterhand titta vad den var i för state. http://support.microsoft.com/support/kb/articles/Q241/2/15.ASP

Enkelt va? ;-)

En bra bok om ämnet är John Robbin's "Debugging Applications", http://www.amazon.com/exec/obidos/ASIN/0735608865/qid=996795580/sr=2-1/ref=aps_sr_b_1_1/107-3764002-4642136

Hjälpen till windbg är inte heller att förakta, men lite tung i början.

[Redigerat av developer den 03 aug 2001]

[Redigerat av developer den 03 aug 2001]

Genererad på 518 ms · cache AV · v20260730165559-full.f96bc7eb