Sign in Join
Wiki copytemporary

MPW debugging: what changed

Revision 1 to 2. Removed lines have a minus sign; added lines have a plus sign.

OldNewLine
1-*(Mac OS Classic only)*
1+[![Logo OSX.png](/wiki-images/7/7a/Logo_OSX.png)](</File:Logo_OSX.png>)
22
3-The possibilities to do high level debugging in target Mac OS Classic (note: not macOS) is limited, due to limitations of PPCAsm to accept debuginfo (stabs). The limitation is thus not in FPC.
3+This article applies to [Mac OS Classic](</Category:Mac_OS_Classic> "Category:Mac OS Classic") only.
44
5-Therefore, if possible, we suggest to do the main debugging in a macOS/Darwin version of your program.
5+See also: [[Multiplatform Programming Guide]]
66
7-If you really want to try to use a debugger, Power Mac Debugger 2.1 can be downloaded from <https://macgui.com/downloads/?file_id=17426> or <https://staticky.com/mirrors/ftp.apple.com/developer/Tool_Chest/Core_Mac_OS_Tools/MPW_etc./Debuggers/> (previosuly available at ftp.apple.com/developer/Tool_Chest/Core_Mac_OS_Tools/MPW_etc./Debuggers/).
7+The possibilities to do high level debugging in target Mac OS Classic (note: not macOS) is limited, due to limitations of PPCAsm to accept debuginfo (stabs). The limitation is thus not in FPC.
88
9-You can not use it in the classic environment included in the early versions of macOS, only real Mac OS Classic will do, and then you must shut off virtual memory. The reason is probably some bug in the memory mapping of executable files, so when a breakpoint is set in the debugger, the breakpoint will eventually be saved to disk, and thus the executable will be corrupted, next time the app is started.
9+Therefore, if possible, we suggest to do the main debugging in a macOS/Darwin version of your program.
1010
11-Compile the programs and units with -g to enable debugging. xcoff files will then be generated which contains debugging info.
11+If you really want to try to use a debugger, Power Mac Debugger 2.1 can be downloaded from <https://macgui.com/downloads/?file_id=17426> or <https://staticky.com/mirrors/ftp.apple.com/developer/Tool_Chest/Core_Mac_OS_Tools/MPW_etc./Debuggers/> (previosuly available at ftp.apple.com/developer/Tool_Chest/Core_Mac_OS_Tools/MPW_etc./Debuggers/).
1212
13-- You can browse among procedures by their mangled names,
13+You can not use it in the classic environment included in the early versions of macOS, only real Mac OS Classic will do, and then you must shut off virtual memory. The reason is probably some bug in the memory mapping of executable files, so when a breakpoint is set in the debugger, the breakpoint will eventually be saved to disk, and thus the executable will be corrupted, next time the app is started.
1414
15-- You can view the source code.
15+Compile the programs and units with -g to enable debugging. xcoff files will then be generated which contains debugging info.
1616
17-- You can set breakpoints, stepping and jumping works.
17+ * You can browse among procedures by their mangled names,
1818
19-- You cannot see variable names, only registers. However this can be useful, especially at procedure entry and exit point where the parameter list and return value are stored in registers, according to the calling conventions.
19+ * You can view the source code.
2020
21-- In the assembler view, sometimes the symbolic name of a branch destination is wrong. When actually executing the branch, it will however branch to the correct procedure.
21+ * You can set breakpoints, stepping and jumping works.
2222
23+ * You cannot see variable names, only registers. However this can be useful, especially at procedure entry and exit point where the parameter list and return value are stored in registers, according to the calling conventions.
24+
25+ * In the assembler view, sometimes the symbolic name of a branch destination is wrong. When actually executing the branch, it will however branch to the correct procedure.
26+
2327---
24-*From the Free Pascal wiki, page "MPW debugging", as it stood on 2022-05-30 after a change by Trev, out of the wiki's dump of 2024-05-26. Copyright stays with the author who wrote it, according to the old wiki's [[Licensing]] page. If you have concerns about this material, [message the admin](/wiki-contact).*
25-Category: Debugging
26-Category: Historical
27-Category: Mac OS Classic
28+*From the Free Pascal wiki, page "MPW debugging", as the Internet Archive kept it on 2025-03-15, last changed on 2022-05-31. Copyright stays with the author who wrote it, according to the old wiki's [[Licensing]] page. If you have concerns about this material, [message the admin](/wiki-contact).*

Back to history