TOPIC
DISCUSSION There are a couple of ways to use LisaBug to terminate an infinite loop if your program is in one: When you find your program in an infinite loop: 1. Press the NMI key (minus key on the keypad) to enter the debugger. 2. If the domain is greater than zero--i.e., 1, 2 or 3--type a "G"o, then RETURN. This brings you back to your program then drops you back into Lisabug. If the domain is zero or n, Type "UBR" RETURN. If that didn't change the domain to 1, 2 or 3, type "ID PC-4" RETURN, "G" RETURN, then depress the NMI key before proceding. (It's sometimes hard to get a non-zero domain if the program is caught up in I/O.) 3. Type: "PC o" RETURN. 4. Then type "G" RETURN. There is another situation that you may get into with procedures such as: Procedure QUIT; begin exit(PROGRAM_NAME) end; You must include a reference to QUIT in the main program, or the Dead Code Analysis removes QUIT from the object code. To terminate the program, invoke Lisabug with the numeric keypad minus key (NMI), then enter the following immediate commands: br ix movem.l d0-a6,-(a7) quit You are returned to the Workshop shell when the program terminates. Additional information on terminating loops may be found in the debugger section of your Workshop manual,
EXTENDED Information section - Apple Internal Use - Service Providers and Support Professional
APPLE EYES ONLY Information section - Apple Need-To-Know Confidential
Article Change History: |