MAP soubor a jeho pochopení – C / C++ – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu
Reklama
Reklama

MAP soubor a jeho pochopení – C / C++ – Fórum – Programujte.comMAP soubor a jeho pochopení – C / C++ – Fórum – Programujte.com

 

Hledá se programátor! Plat 1 800 € + bonusy (firma Boxmol.com)
Origin0
Duch
24. 1. 2014   #1
-
0
-

Dobrý den, opět se obracím na komunitu tady protože mi zde pokaždé někdo poradil..

poslední dobou mám s mojí aplikací problém že padá pokaždé ve stejném okamžiku (když se někdo připojuje)

Windows server mi vyplivne:

Faulting application name: Serv.exe, version: 7.0.0.0, time stamp: 0x52de8f51
Faulting module name: objD169.tmp, version: 0.0.0.0, time stamp: 0x52e18052
Exception code: 0xc0000005
Fault offset: 0x001e6ca2
Faulting process id: 0x34c
Faulting application start time: 0x01cf18880fe12550
Faulting application path: E:\Serv.exe
Faulting module path: C:\Users\rommie\AppData\Local\Temp\objD169.tmp
Report Id: f111f920-8483-11e3-a497-824054c25945

 Faulting module path obsahuje můj obří dll soubor přejmenovaný na tmp

mám vygenerovaný map soubor, a pokoušel jsem se podle návodu tady: http://www.codeproject.com/Articles/3472/Finding-crash-information-using-the-MAP-file z něj dostat jaké fce mi dělá problémy, bohužel v tom plavu :( tam to ukazují na map souboru "hello world" ktrej má 100kb, jenže můj map soubor má 4,5MB :( a já v něm dokonale plavu..

pěkně prosím:

1: může mi někdo srozumitelně vysvětlit jak mám v map souboru podle fault offset najít která funkce to způsobuje?

2: mrknout na můj map tady: http://upload.mujmail.eu/Object.map a říct mi co mi to shazuje? (já jsem se podle toho návodu dobral do souboru PlayerObj a funkci MPRespawn, je to správně?)

předem Děkuji

Nahlásit jako SPAM
IP: 217.66.164.–
Reklama
Reklama
z
~ Anonymní uživatel
268 příspěvků
24. 1. 2014   #2
-
0
-

1: Tak jak jsi to nejspíš hledal. Podle adresy uvedené v map souboru. Můžou tam být matoucí ty segmenty, já spíš hledám "Offset+Load address" ve sloupci "Rva+Base".

2: Vidím to stejně.

Pokud dokážeš tu chybu navodit, tak bude nejlepší podívat se na to v IDE, abys viděl přesně řádek zdrojáku, call stack a hodnoty proměnných (podle exception code přistupuješ k "neplatné" adrese). Každé slušné IDE dokáže pro ladění "spustit" i DLLku (jen musíš nastavit, který program ji natahuje a má se fakticky spustit), nebo se připojit k běžícímu procesu.

Případně můžeš při tom pádu udělat memory dump a na ten se pak podívat třeba ve WinDbg.

Nebo aspoň programově nastavit globální exception handler, kde si potřebné informce někam uložíš sám.

Nahlásit jako SPAM
IP: 88.101.8.–
Origin0
Duch
24. 1. 2014   #3
-
0
-

#2 z
Diky za odpověď.

No, používám Visual Studio 6.0 SP6 - zdrojáky jsou originálně napsané v něm a v jiné verzi prostě "nefungují".

vím že je tam nějaký debugger ale nepodařilo se mi to nějak zprovoznit, ale pokud jsem se s tou adresu trefil do správné funkce, tak mi teď už jen stačí jít výš a výš  výš od té funkce a nakonec se dohrabu k tomu co to způsobuje.. Už jsem uvažoval o nějakém systému co by dokázal generovat nějaký přesnější crash report se souborem, číslem řádku a vypsanýma proměnýma ale nedaří se mi najít nic použitelného pro VS6. :(

ještě zkusím mrknout na netbeans ide dbugger.. třeba mi to pomůže.. ale i tak díky za odpověď, jsem rád že jsem teda to hledání v MAP pochopil a našel jsem tu správnou adresu..

Nahlásit jako SPAM
IP: 217.66.164.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 107 hostů

Moderátoři diskuze

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032016 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý