Software > Software (16-/32-Bit)

Probleme mit 68060 und Cat

<< < (3/4) > >>

Ektus:

--- Zitat von: m0n0 am So 24.04.2011, 17:09:11 ---Hallo, achso, ja, man kann natürlich auch mit PureC debuggen, ich dachte das geht nicht - weil es sich um eine 060er Version von CAT handelt.

--- Ende Zitat ---

Es handelt sich um eine 68000er Version. Nur die CPU ist 68060.


--- Zitat von: m0n0 am So 24.04.2011, 17:09:11 ---Ausserdem, wenn CAT mit gcc kompiliert wurde, kann man die Symbole (Funktionsnamen, Variablennamen) nicht in PureC sehen, sondern nur assembly code.


--- Zitat ---Der Import endet wieder mit Busfehler, der Debugger zeigt auf eine Funktion strCpy und findet keinen Quelltext dazu.
--- Ende Zitat ---

Das deutet eher darauf hin das es sich doch um mit PureC kompilierten Quelltext handelt, aufgrund des Funktionsnamens.

--- Ende Zitat ---
Ja, ist PureC. Schrieb ich das nicht schon?

--- Zitat von: m0n0 am So 24.04.2011, 17:09:11 ---Hm,... ich würde sagen, du musst den Quelltext erst laden, irgendwo ist da ne Menüoption in PD - aber du musst natürlich wissen welche Datei zu laden ist. Oder in main.c anfangen, oder so ;)

--- Ende Zitat ---
Das dürfte eine Standardfunktion sein, die an sich nicht für den Fehler verantwortlich ist, sondern mit einem fehlerhaften Parameter aufgerufen wird. Nur von wo aus? Der Pure Debugger läuft zwar, aber einige Funktionen stürzen ab :-(
Den Quelltext habe ich natürlich, und auch mit Debuginformation compiliert. Aber dieser Teil ist scheinbar nicht im Quelltext.

Mit freundlichen Grüßen
Ektus.

gstoll:

--- Zitat von: Ektus am So 24.04.2011, 17:48:28 ---Aber dieser Teil ist scheinbar nicht im Quelltext.

--- Ende Zitat ---
Doch er befindet sich in "lib/ro/ros_cpy.c". strCpy ist im Prinzip ähnlich der Standardfunktion strcpy, nur das ein paar Sicherheitsabfragen drin sind.

Ansonsten, wie an anderer Stelle schon geschrieben "View/Stack" zeigt die Abarbeitungsreihenfolge.

Gerhard

Ektus:

--- Zitat von: gstoll am So 24.04.2011, 19:12:43 ---
--- Zitat von: Ektus am So 24.04.2011, 17:48:28 ---Aber dieser Teil ist scheinbar nicht im Quelltext.

--- Ende Zitat ---
Doch er befindet sich in "lib/ro/ros_cpy.c". strCpy ist im Prinzip ähnlich der Standardfunktion strcpy, nur das ein paar Sicherheitsabfragen drin sind.

Ansonsten, wie an anderer Stelle schon geschrieben "View/Stack" zeigt die Abarbeitungsreihenfolge.

Gerhard

--- Ende Zitat ---
Ja, Danke. Nachdem Du hier auch mitliest, sollen wir die Fehlersuche hier konzentrieren? Oder lieber in der Mausgruppe?

Ich starte Cat im Debugger aus PureC mit dem Projektfile Cat.prj. Ist das die richtige Methode? Im Debugger werden mir nur BIOS.S, GEMDOS.S, IDN_CMD.C, MINT.S, NFKC.C, PUNYCODE.C, STRINGP.C, TOUTF8.C und XBIOS.S angezeigt, wobei alle außer Punycode bei Doppelclick ein "File not found" produzieren :-(

Der Busfehler scheint ganz am Anfang von strCpy zu passieren, der Debugger zeigt auf die erste Anweisung "MOVE.L A2, -(A7)", die sich beim letzten Lauf an der Adresse $01C45D3C befand. Text bei $1BB052, Länge $0A06EE, Data $1C50C1, Länge $039AE6, BSS $1C8A6F, Länge $014F8A.

Mit "View CPU" friert der Rechner ein :-(

Mit freundlichen Grüßen
Ektus.

afalc060:
Ich bin nicht der C mensch, aber sollten die pfade nicht stimmen, damit die files gefunden werden?

MOVE.L A2, -(A7)
da wird eine adresse auf dem stapel abgelegt

gstoll:

--- Zitat von: Ektus am So 24.04.2011, 20:08:53 ---Ich starte Cat im Debugger aus PureC mit dem Projektfile Cat.prj. Ist das die richtige Methode?

--- Ende Zitat ---
Ja, das ist richtig

Wenn wie Du schreibst die Module ("View/Modules") werden nicht angezeigt, dann hast Du entweder die Compiler- und Linkereinstellungen zum anhängen der Debuginformation nicht gesetzt oder Du hattest einen Compilerlauf ohne dies Einstellung und Du mußt das nochmal wiederholen.
Also noch schauen ob alles Einstellungen sitzen und ein "Project/Make all" machen und dann den Debugger starten.


--- Zitat von: Ektus am So 24.04.2011, 20:08:53 ---Der Busfehler scheint ganz am Anfang von strCpy zu passieren, der Debugger zeigt auf die erste Anweisung "MOVE.L A2, -(A7)",

--- Ende Zitat ---
Dann ist der Stack kaputt, denn das ist die erste Anweisung und nur zum retten des Registers A2.


--- Zitat von: Ektus am So 24.04.2011, 20:08:53 ---Mit "View CPU" friert der Rechner ein

--- Ende Zitat ---
Mmh, der PD ist nicht ganz 060 fest. Du könntes mal von der Medusa Computer Systems Homepage das Archiv Hadessh.zip laden. Da befindet sich ein gepachter PD für 060. Keine Ahnung ob es was bringt.

Gerhard

Navigation

[0] Themen-Index

[#] Nächste Seite

[*] Vorherige Sete

Zur normalen Ansicht wechseln