Commit Graph

59 Commits

Author SHA1 Message Date
Dreg
d514779177 add dbghelp for source, bt and print-string commands 2022-09-12 10:53:39 +02:00
Dreg
7c6bd03e05 add layout commands for dbg 2022-08-29 18:27:12 +02:00
Dreg
acfa7399e1
dereference expression and command for dbg (#38)
* dereference expression and command for dbg

* doc updated for deref and $ operator
2022-08-23 23:37:30 +03:00
Dreg
104d169ef8
add new dbg command loadmem, load bytes from file to memory (laddr) (#34)
* add dbg bx_dbg_write_linear

* add dbg bx_dbg_loadmem_command

load bytes from file to memory
2022-08-22 08:17:57 +03:00
Stanislav Shwartsman
a8e066ede7 remove debugger command for disasm constant hex print mode, was not used and new disasm doesn't support it 2021-01-02 12:12:02 +00:00
Stanislav Shwartsman
f90e5f4f44 Add initial implementation of the CET (Control Flow Enforcement Technology) emulation according to SDM071
Only missing items (to be added soon):
  - Supervisor Shadow Stack EPT Control is not implemented yet
  - SMM placing for SSP
Currently have to be added manually to some CPUID model, for example to ICL-U
To enable configure with --enable-cet
2019-12-20 07:42:07 +00:00
Stanislav Shwartsman
2b394c9e9f allow delivery of SMI or NMI from debugger using take command 2019-12-04 19:53:47 +00:00
Stanislav Shwartsman
2a55ba0a39 Merge set of debugger improvements by Doug Gale <doug16k>
Here is his original comment:

I have made several improvements in the debugger.
I have fixed several issues with proper handling of 64-bit addresses, and added support for 64 bit symbols.
I also have added several symbol lookups.
2017-08-22 21:03:58 +00:00
Stanislav Shwartsman
38e2562d9c added new debugger cap: conditional continue' 2017-06-03 19:11:52 +00:00
Stanislav Shwartsman
793ceb0d8c fix massive code dupliction between disasm, debugger and cpu by introducing new cpu decoder.h header 2016-04-29 21:01:28 +00:00
Stanislav Shwartsman
1924780b06 added ability to dump Bochs param tree in XML format 2014-11-15 22:03:52 +00:00
Stanislav Shwartsman
09414f2f4b implemented access to opmask AVX-512 registers from debugger, fixed enhdbg buffer overflow with EVEX enabled 2014-02-11 20:51:18 +00:00
Stanislav Shwartsman
8602804086 another fix for commands debugger parser 2013-11-20 18:40:10 +00:00
Stanislav Shwartsman
ee40564a5f remove unneeded vga keyword from lexer 2013-11-20 16:56:26 +00:00
Stanislav Shwartsman
ab87549b6b Updates to Bochs debugger:
AVX command split into two: YMM command and ZMM command for AVX-256 and AVX-512.
Later new command AVX will be added whch will print complete AVX state according to what is defined currently, including OPMASK registers

info device <name>
and
info device <name> <string>

could be also used now without having to include device name in quotes as "name".
old style "qouted" option also still working

added missing info cpu command to the help
2013-11-19 21:53:55 +00:00
Stanislav Shwartsman
a8068812df add 'tlb' command to debugger to do TLB lookup 2013-01-14 17:02:07 +00:00
Stanislav Shwartsman
e1611e717e Implemented feature request:
[3519794] debugger's ability to save physical/linear memory dumps
2012-04-24 11:01:59 +00:00
Volker Ruppert
f65c4e66b8 - debugger command 'info device': implemented support for additional arguments
- ne2k: replaced debugger command 'info ne2k' completely by a new version based
  on 'info device' with additional arguments and removed all of the now obsolete
  stuff (ne2k device stub, macro for print_info())
- pci: added option 'dump=full' for the debugger command 'info device' to show
  the whole PCI config space
- TODO: some other devices could have support for additional options in
  debug_dump()
2012-04-23 17:06:19 +00:00
Volker Ruppert
086266d033 - implemented new debugger command 'info device [string]' that shows the state
of the device specified in 'string'. Added register mechanism and chained
  list to store the device name and pointer. Replace hardcoded debug info
  implementations for pic, pci and vga by the new one.
- TODO #1: improve existing debug_dump() output and add more devices
- TODO #2: add support for additional arguments and replace the NE2k print_info()
2012-03-10 17:14:07 +00:00
Stanislav Shwartsman
b16d71175d Fixed 'show off' command in internal debugger
Removed not working record/playback obsolete commands from internal debugger
2011-10-09 19:26:30 +00:00
Stanislav Shwartsman
2e6d8c09ed update autogenerated files 2011-05-06 08:30:44 +00:00
Stanislav Shwartsman
7ced718040 implemented AVX instructions support
many changes - some cleanup will follow
please report ay found bugs !
2011-03-19 20:09:34 +00:00
Stanislav Shwartsman
64a30a15fa Adding Id and Rev property to all files 2011-02-25 20:16:02 +00:00
Stanislav Shwartsman
c67f6eddc7 Applied patch :
[2926072] Indirection operators in expressions by Derek Peschel
2010-01-05 13:59:08 +00:00
Stanislav Shwartsman
069ea6228e disasm displacements and offsets by default now printed as "relative" signed integers and not as unsigned offsets
could toggle it back with disasm command.
help disasm in debugger
2009-12-28 13:44:32 +00:00
Stanislav Shwartsman
b71eb23145 remove redundant stuff 2009-11-20 12:15:21 +00:00
Stanislav Shwartsman
27e3f6fda0 implemented range watchpoints - GUI debugger still can only do 1-byte length watches 2009-11-20 12:02:57 +00:00
Stanislav Shwartsman
98b51805d5 updates for Bochs debugger 2009-10-29 15:49:50 +00:00
Stanislav Shwartsman
3dbb1da68a remove "dirty" pages tracking - it is too memory consuming and can fit with >4G phy addr space 2009-10-15 20:50:33 +00:00
Stanislav Shwartsman
e912b328c2 enhances to gui debugger and integrated debugger 2009-08-07 08:26:41 +00:00
Stanislav Shwartsman
4fc66aab31 Fixes for compilation by Visual Studio 2008 2009-04-07 16:12:19 +00:00
Stanislav Shwartsman
981c2e595d Improve internal debugger commands parsing.
Now possible to set read/write watchpoits using 'r' and 'w' shortcuts instead of full 'read' and 'write' words
2009-04-03 17:36:24 +00:00
Stanislav Shwartsman
abe5309ab9 Clean 'info registres' command - use only direct aliases.
instead of 'info fpu' - just use 'fpu'
and etc
2008-05-01 19:10:07 +00:00
Stanislav Shwartsman
003c23e7ea Added aliases for some debugger command
fp|fpu - same as info fpu
sse - same as info sse
mmx - same as info mmx
sreg - same as info sreg
2008-04-26 18:50:32 +00:00
Stanislav Shwartsman
bdaef81603 Added debugger memory trace functionality. Enable by 'trace-mem on' command 2008-04-19 13:21:23 +00:00
Stanislav Shwartsman
041ae54724 Fixed lexer bug 2008-03-30 05:45:42 +00:00
Stanislav Shwartsman
46e7ca44dc dded patch with symbols support in bochs-debugger 2008-03-29 21:32:18 +00:00
Stanislav Shwartsman
6d7134ef99 Remove dump_cpu debugger function, CPI method and all related structures.
Extended 'info' command in debugger to have all functionality of dump_cpu if needed. Also param tree print always could be used !
2007-10-23 21:51:44 +00:00
Stanislav Shwartsman
e9801ef501 Support for restore cpu (and any other device from bochs root) from debugger 2007-10-14 19:04:51 +00:00
Stanislav Shwartsman
f6ed95785f added cpu state param - for future use and for dbg info
started to move debugger to info bx_param interface -> info sse and info mmx commands modified
2007-10-11 18:12:00 +00:00
Stanislav Shwartsman
9e3a969239 Fixed lb/pb methods for platforms with BX_HAVE_STRTOULL=0 2006-10-19 17:51:58 +00:00
Stanislav Shwartsman
bfebb40326 Fixed bug report:
[ 1503978 ] movsb/w/d doesn't work when direction is stored
2006-06-11 18:03:45 +00:00
Stanislav Shwartsman
c5d3070a60 I once already did this change ... strange, how it could gone ...
Replace strtoul by strtoull to support 64-bit values
2006-05-29 19:56:29 +00:00
Stanislav Shwartsman
a6d2ccffba Fixed typo 2006-02-27 06:14:42 +00:00
Stanislav Shwartsman
d37f62d2b4 Support for 64-bit registers set reg = expr command
Print found guard cs_eip in more nice way, it was too mane leading zeroes in x86-64 mode ON
2006-02-13 18:28:14 +00:00
Stanislav Shwartsman
bc30171d4a Remove parenthesis around 'show command' arguments
Fixed in lexer and parser
2006-02-11 21:19:22 +00:00
Stanislav Shwartsman
e8ec9e854b Remove redundant 0x from FMT_ADDRX macro for cygwin
Moved 'show "tab"' command to 'info' (use 'info tab' now)
Fixed printing of the command
2006-02-11 20:47:22 +00:00
Stanislav Shwartsman
1d4fa8b327 Available back ability to use eip register as source in 'set reg = <expr>' cmd.
Setting the eip register still not available (deliberatelly).
I don't want to enable it util I find some easy interface to do it.
I don't want to allow setting of part of RIP register using 'set eip=<expr>' and leave the upper part unchanged ....

Remove unused test registres from debugger
Fix compilation error in cpu.h
Change trace-on/trace-off commands. Make one 'trace' command with usage of 'trace on/trace off'
2006-01-31 19:45:34 +00:00
Stanislav Shwartsman
067f23e3da Fix set 'ah,bh,ch,dh' registers from debugger
Enable disasm by default - in adds some useful information to debug messages in log file
Remove defines for 8bit registers from cpu.h, the x86 arch defines not match defines used by set_reg and get_reg methods.
2006-01-27 19:50:00 +00:00
Stanislav Shwartsman
37eb82c69c Totally remove the cosimulation code from Bochs.
The Bochs anyway even doesn't compile if cosimulation configured enabled.
But in the same time the cosimulation code only disturbs to the future development of Bochs debugger, for example adding x86-64 functionality ...
For those of you who still may want to see the cosimulation code inside I put it in patch and upload it Bochs CVS patches folder. Read comments for the patch ! ----------------------------------------------------------------------
2006-01-25 22:20:00 +00:00