AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

was ist die .map datei

Ein Thema von Andidreas · begonnen am 8. Nov 2006 · letzter Beitrag vom 8. Nov 2006
Antwort Antwort
Benutzerbild von Andidreas
Andidreas

Registriert seit: 27. Okt 2005
1.110 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#1

was ist die .map datei

  Alt 8. Nov 2006, 11:20
aloha...

in dem verzeichnis wo ich meine exe erstellen lasse, erstellt delphi mir neuerdings eine .map datei...
was is das??? für was brauch ich die???
Ein Programmierer Programmiert durchschnittlich 15 Code Zeilen pro Tag
Wir sind hier doch nicht bei SAP!!!

Aber wir habens bald
  Mit Zitat antworten Zitat
Balu der Bär
(Gast)

n/a Beiträge
 
#2

Re: was ist die .map datei

  Alt 8. Nov 2006, 11:23
AFAIR gibt man die .map-Datei mit zu Kunden um bei Fehlern an die nötigen Adressen zu gelangen (aber genauer hab ich keine Ahnung, dass ist das einzigste was mir im Kopf herumschwirrte ).
  Mit Zitat antworten Zitat
Benutzerbild von Union
Union

Registriert seit: 18. Mär 2004
Ort: Luxembourg
3.492 Beiträge
 
Delphi 7 Enterprise
 
#3

Re: was ist die .map datei

  Alt 8. Nov 2006, 11:24
In der MAP-Datei werden die Segment-Adressen und Speicherbereiche Deines Programms in lesbarer Form ausgegeben. Sehr schön z.B. , wenn Du eine AV 08005B3 bekommst und sonst nichts. Dann kannst Du den Speicherbereich in der MAP-Datei suchen und findest evtl. den Auslöser.

Eine andere Möglichkeit ist das Auffinden von überflüssigerweise eingebundenen, speicherfressenden Modulen.
Ibi fas ubi proxima merces
sudo /Developer/Library/uninstall-devtools --mode=all
  Mit Zitat antworten Zitat
Benutzerbild von Andidreas
Andidreas

Registriert seit: 27. Okt 2005
1.110 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#4

Re: was ist die .map datei

  Alt 8. Nov 2006, 11:33
ok jetzt nur mal kucken ob ichs kapiert hab...

zum vergleich...
wenn ich auf der as/400 eine programm umwandle/kompeliere, dann krieg ich ne umwandlungsliste wo mein source und noch anderer krust drinne steht, desweitern wir mir neben dem source eine nr. angegeben... bricht ein programm ab, sagt es mir meistens die zeile wo es abgebrochen hat und ich kann in der umwandlungsliste mir die stelle anschauen...

also im delphi ist dann die umwandlungsliste meine .map datei... seh ich das richtig???
es passiert z.b. ein fehler und der gibt mir irgend en wirwar an zahlen und buchstaben aus... wenn ich das nehm kann ich in der map datei nachschauen wo mein fehler passiert ist?!
Ein Programmierer Programmiert durchschnittlich 15 Code Zeilen pro Tag
Wir sind hier doch nicht bei SAP!!!

Aber wir habens bald
  Mit Zitat antworten Zitat
Benutzerbild von Union
Union

Registriert seit: 18. Mär 2004
Ort: Luxembourg
3.492 Beiträge
 
Delphi 7 Enterprise
 
#5

Re: was ist die .map datei

  Alt 8. Nov 2006, 11:55
Nicht ganz. Die Umwandlungsliste ist eher ein Compilierprotokoll (Ausgabe des Compilers, zb. RPG). Das hast Du in der Delphi-IDE integriert - es werden im Message-Tab die Fehlermeldungen ausgegeben und Du kannst die Stellen im Source durch anklicken anspringen und korregieren.

Die MAP-Datei dagegen stellt eine Aufschlüsselung des gelinkten Compilats (=> EXE, DLL) dar.
Ibi fas ubi proxima merces
sudo /Developer/Library/uninstall-devtools --mode=all
  Mit Zitat antworten Zitat
Reinhard Kern

Registriert seit: 22. Okt 2006
772 Beiträge
 
#6

Re: was ist die .map datei

  Alt 8. Nov 2006, 14:27
Zitat von Andidreas:
ok jetzt nur mal kucken ob ichs kapiert hab...

zum vergleich...
...

also im delphi ist dann die umwandlungsliste meine .map datei... seh ich das richtig???
es passiert z.b. ein fehler und der gibt mir irgend en wirwar an zahlen und buchstaben aus... wenn ich das nehm kann ich in der map datei nachschauen wo mein fehler passiert ist?!
Hallo,

im Prinzip ist das so, allerdings hochgradig mühsam. Du bekommst eine Fehlermeldung "Fehler an Adresse abc..." und willst wissen, welcher Programmteil?

In der Map-Datei steht u.A. die Anfangsadresse aller Routinen (was drin steht, ist einstellbar, im Fehlerfall am besten gleich alles einschalten). Du must "nur" die grösste Adresse vor der mit dem Fehler suchen, das ist dann die Routine, in der der Fehler aufgetreten ist. Also vereinfacht:

0100 Routine1
0300 Routine2
0400 Routine3 usw. , Fehler bei 316, also ist es Routine2.

Leider tritt der Fehler oft in einer Routine der Laufzeitbibliothek auf, überhaupt ist das Auftreten eines Fehlers sehr oft nicht die Stelle, an der etwas falsch programmiert wurde. Ausserdem sind die Routinen glaube ich alphabetisch sortiert und nicht nach Adresse :(

Gruss Reinhard
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:09 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz