aboutsummaryrefslogtreecommitdiff
path: root/engines/sci/engine/scriptdebug.cpp
AgeCommit message (Collapse)Author
2017-10-21SCI: Allow lofsa string printing in disasm for all SCI versionsWillem Jan Palenstijn
2017-10-21SCI: Fix offsets in disasm for multi-param opcodesWillem Jan Palenstijn
This code was assuming that retval points to the start of the next instruction, which is only true if the current parameter is the last one. This fixes op_call printing.
2017-09-30SCI: Fix printing of super calls on clones in debuggerColin Snover
2017-09-27SCI: Fix use-after-free when kernel call debugging is active during a save ↵Colin Snover
game restore
2017-07-30SCI: Show inherited methods when viewing an object in the debuggerColin Snover
2017-07-30SCI32: Fix breakpoints on reading/writing selectors in SCI3Colin Snover
2017-07-26SCI32: Fix lofsa/lofss of strings in SCI3 disassemblyColin Snover
2017-07-23SCI: Resolve offset names when disassembling object methodsColin Snover
2017-06-10SCI: Expand kernel breakpoint pattern matching for negative matchesWillem Jan Palenstijn
See matchKernelBreakpointPattern() for samples. The main envisioned use is DoSound*,!DoSoundUpdateCues to match all DoSound sub-functions except DoSoundUpdateCues.
2017-06-10SCI: Clean up breakpoint code (indentation, consistency)Willem Jan Palenstijn
2017-06-10SCI: Move bpk/logkernel to main breakpoint infrastructureWillem Jan Palenstijn
This changes the syntax for bpk and logkernel: Enable breakpoint on kernel call: bpk FrameOut Enable logging for kernel call: bpk FrameOut log For backward compatibility this has an alias: logkernel FrameOut Removing a kernel call breakpoint is done with bp_del/bc now.
2017-06-10SCI: Allow multiple breakpoints with same trigger but different actionWillem Jan Palenstijn
2017-06-10SCI: Add inspect, none breakpoint actionsWillem Jan Palenstijn
2017-06-10SCI: Move printObject from console to scriptdebugWillem Jan Palenstijn
2017-06-10SCI: Add break/log/backtrace actions for triggered breakpointsWillem Jan Palenstijn
The action can be set using the new console command bp_action/bpact.
2017-06-10SCI: Add underscores to Breakpoint member variablesWillem Jan Palenstijn
2017-06-10SCI: Move backtrace output to scriptdebug.cppWillem Jan Palenstijn
2017-06-10SCI: Handle selector read/write breakpoints from opcodesWillem Jan Palenstijn
2017-06-10SCI: Fix wildcard selector breakpointsWillem Jan Palenstijn
0f9c33e02f1cb2c740c1eb0dcaad96dd22ec29e7 in 2011 broke selector breakpoints of the type "ObjName::", which previously caught all selector sends of the named object. Thanks to TMM and snover for noticing.
2017-04-23SCI32: Improve disassembly output of SCI3 property opcodesColin Snover
Since SCI3 scripts use selectors instead of offsets as operands to property-related opcodes, the disassembler can look up and display property names everywhere (unlike SCI2.1 and earlier, which need to know the object being operated on to look up the correct selector for a given offset).
2017-04-23SCI: Fix support for 32-bit SCI3 script offsetsColin Snover
2017-04-23SCI: Fix whitespace errorsColin Snover
2017-04-23SCI: Remove dead code in Script_Offset disassemblerColin Snover
Script_Offset is only ever used for lofsa/lofss opcodes.
2017-04-23SCI: Fix bad offsets in disassembly for SCI3 lofsa/lofssColin Snover
2017-04-22SCI: Avoid crashing when disassembling a call with a bad objectColin Snover
lookupSelector will raise an error if the passed object ID is invalid.
2017-04-22SCI: Display class names in disassemblyColin Snover
2017-03-30SCI: Replace magic numbers in reg_t handling with symbolsColin Snover
2017-03-27SCI: Implement bounds-checked reads of game resourcesColin Snover
2017-02-05SCI: Fix more unsafe C-string usageColin Snover
2016-12-12SCI: Ensure bytecode/BWT for "file" op is also printedColin Snover
Learning the bytecode for file op is necessary when creating workaround signatures, as the signature-finding mechanism does not currently ignore line/file instructions.
2016-11-20SCI: Improve disassembly outputColin Snover
1. pushi opcode now displays decimal value and selector value (if one exists) in-line 2. lofsa, lofss, and super opcodes now display resolved object/class names 3. Opcode arguments are visually aligned
2016-11-20SCI: Add code-address breakpoints to debuggerColin Snover
2016-03-25SCI: Introduce accessors for SegmentObjTable entries.Johannes Schickel
This makes code not use _table directly whenever possible. An exception is the save game code which is not easy to adapt due to design deficiencies.
2016-03-01SCI: Use uint32 instead of unsigned intFilippos Karapetis
2014-05-27ALL: Rename Debugger::DebugPrintf to Debugger::debugPrintf.Johannes Schickel
2014-02-18SCI: Make GPL headers consistent in themselves.Johannes Schickel
2014-01-27SCI: fix null pointer access in logKernelCallMartin Kiewitz
method was/is used for debugging only CID 1003612
2013-02-23ALL: Fix typo (existant->existent)Willem Jan Palenstijn
2012-10-06SCI: Fix dissect_script crash with invalid object typesWillem Jan Palenstijn
2012-10-06SCI: Fix some console output formattingWillem Jan Palenstijn
2012-06-23SCI: Change the program counter (PC) to be a 32-bit variableFilippos Karapetis
This is needed for future support of large SCI3 scripts. The program counter is isolated and does not interfere with other parts of the VM, plus it does not get stored in saved games, so it's pretty straightforward to convert
2012-06-23SCI: Add support for the debug opcode "file" in our script dissassemblerFilippos Karapetis
Also set the correct name for the debug opcode "line"
2012-06-21SCI: Fix warningsFilippos Karapetis
2012-06-18SCI: Store script sizes in 32-bit integersFilippos Karapetis
Since scripts can be larger than 64KB, and getBufSize() returns a 32-bit integer, adapt variables that store script sizes accordingly
2012-06-18SCI: Add setter/getter methods to reg_t'sFilippos Karapetis
No functionality change has been made with this commit. This avoids setting and getting the reg_t members directly, and is the basis of any future work on large SCI3 scripts (larger than 64KB)
2012-02-15JANITORIAL: Fix missing whitespace in pointer castTarek Soliman
find -name '*.h' -or -name '*.cpp' | xargs sed -r -i 's@\(([A-Za-z0-9]+)\*\)@(\1 *)@g' This seems to have caught some params as well which is not undesirable IMO. It also caught some strings containing this which is undesirable so I excluded them manually. (engines/sci/engine/kernel_tables.h)
2011-11-29SCI: Fix restarting SCI engine with different SCI versionWillem Jan Palenstijn
2011-11-28SCI: Added handling of invalid jump offsets (e.g. QFG2, script 260)Filippos Karapetis
2011-09-22SCI: Fixed compilation with VM_DEBUG_SEND definedFilippos Karapetis
2011-06-20ALL: Remove trailing whitespacesMax Horn
This tries to make our code a bit more compliant with our code formatting conventions. For future use, this is the command I used: git ls-files "*.cpp" "*.h" | xargs sed -i -e 's/[ \t]*$//'