List of BeOS/Haiku Kernel Debugging Land Commands?


#1

It is excellent that there is a list of list of all command line applications at ( https://www.haiku-os.org/docs/userguide/en/applications/list-cli-apps.html ). This list also identifies the commands which are specific to Haiku.

However, I have looked for a similar list for the Kernel Debugging Land commands without success. Is there such a list and if so, where is it posted?


#2

I forget how I acquired this list – it’s about 8 years old, but probably still close [I’ve improved the layout a bit on a re-edit with preformatting]:

debugger commands:
 area                           Dump info about a particular area
 areas                          Dump a list of all areas
 aspace                         Dump info about a particular address space
 aspaces                        Dump a list of all address spaces
 avail                          Dump available memory
 bfs                            dump a BFS volume
 bfs_allocator                  dump a BFS block allocator
 bfs_block_runs                 dump a block run array
 bfs_btree_header               dump a BFS B+tree header
 bfs_btree_node                 dump a BFS B+tree node
 bfs_inode                      dump an Inode object
 bfs_journal                    dump the journal log entries
 block_cache                    dumps a specific block cache
 block_caches                   dumps all block caches
 breakpoint                     Set/clears a breakpoint
 breakpoints                    Lists current break-/watchpoints
 bt                             Same as "sc" (as in gdb)
 cache                          Dump vm_cache
 cache_info                     dump information about a specific cache
 cache_tree                     Dump vm_cache tree
 caches                         List all vm_cache trees
 call                           Show call with arguments
 calling                        Show all threads that have a specific address in their call chain
 cbuf_freelist                  Dumps the cbuf free lists
 continue                       Leave kernel debugger
 cpu                            Switches to another CPU.
 cvar                           Dump condition variable info
 cvars                          List condition variables
 daemons                        Shows registered kernel daemons.
 db                             dump memory bytes (8-bit)
 devfs_node                     info about a private devfs node
 dis                            Print disassembly at address
 dl                             dump memory long words (64-bit)
 dm_tree                        dump device node tree
 dma_buffer                     dump a DMA buffer
 drop                           Drop a thread into the userland debugger
 ds                             dump memory shorts (16-bit)
 dw                             dump memory words (32-bit)
 error                          Prints a human-readable description for an error code
 es                             Same as "continue"
 exit                           Same as "continue"
 expr                           Evaluates the given expression and prints the result
 faults                         Toggles fault handling for debugger commands
 file_map                       Dumps the specified file map.
 file_map_stats                 Dumps some file map statistics.
 find_page                      Find out which queue a page is actually in
 gdb                            Connect to remote gdb
 get_usb_pipe_for_id            Gets the config for a USB pipe
 grep                           Filters output from another command
 head                           Prints only the first lines of output from another command
 heap                           Dump infos about the kernel heap(s)
 help                           List all debugger commands
 ici                            Dump info on pending ICI messages
 ici_message                    Dump info on an ICI message
 iframe                         Dump iframes for the specified thread
 image                          dump image info
 in16                           dump io shorts (16-bit)
 in32                           dump io words (32-bit)
 in8                            dump io bytes (8-bit)
 in_context                     Executes a command in the context of a given thread
 inb                            dump io bytes (8-bit)
 info                           System info
 ins                            dump io shorts (16-bit)
 ints                           list interrupt statistics
 inw                            dump io words (32-bit)
 io_buffer                      dump an I/O buffer
 io_context                     info about the I/O context
 io_operation                   dump an I/O operation
 io_request                     dump an I/O request
 io_request_owner               Dump an I/O request owner
 io_scheduler                   Dump an I/O scheduler
 ipv4_multicast                 list all current IPv4 multicast states
 kdlhangman                     A funny KDL hangman game :-)
 legacy_driver                  info about a legacy driver entry
 low_resource                   Dump list of low resource handlers
 ls                             lookup symbol for a particular address
 message                        Reprint the message printed when entering KDL
 modules                        list all known & loaded modules
 mount                          info about the specified fs_mount
 mounts                         list all fs_mounts
 mutex                          Dump info about a mutex
 net_timer                      Lists all active network timer
 on_exit                        Adds a command to be run when leaving the kernel debugger
 oss_dump_cards                 Dump the OSS cards[] array.
 oss_dump_cdevs                 Dump the OSS cdevs[] array.
 out16                          write io shorts (16-bit)
 out32                          write io words (32-bit)
 out8                           write io bytes (8-bit)
 outb                           write io bytes (8-bit)
 outs                           write io shorts (16-bit)
 outw                           write io words (32-bit)
 page                           Dump page info
 page_queue                     Dump page queue
 page_stats                     Dump statistics about page usage
 paging                         Enable or disable paging
 pcistatus                      dump and clear pci device status registers
 port                           Dump info about a particular port
 ports                          Dump a list of all active ports (for team, with name, etc.)
 priority                       Set a thread's priority
 ps2republish                   republish a ps2 device (0-3 mouse, 4 keyb (default))
 ready                          List all ready threads
 realtime                       List all realtime threads
 reboot                         Reboot the system
 resume                         Resume a thread
 rtc                            Set and test the real-time clock
 run_queue                      List threads in run queue
 running                        List all running threads
 rwlock                         Dump info about an rw lock
 sc                             Stack crawl for current thread (or any other)
 sem                            Dump info about a particular semaphore
 sems                           Dump a list of all active semaphores (for team, with name, etc.)
 show_waste                     show cache allocator's memory waste
 shutdown                       Shut down the system
 slabs                          list all object caches
 socket                         dumps a socket
 sockets                        lists all sockets
 spinlock                       Dump info on a spinlock
 step                           Single-steps to the next instruction
 string                         dump strings
 suspend                        Suspend a thread
 swap                           Print infos about the swap usage
 symbol                         search symbol in images
 symbols                        dump symbols for image
 syslog                         Dumps the syslog buffer.
 tail                           Prints only the last lines of output from another command
 tcp_endpoint                   dumps a TCP endpoint internal state
 tcp_endpoints                  lists all open TCP endpoints
 team                           Dump info about a particular team
 team_images                    Dump all registered images from the current team
 teams                          List all teams
 thread                         Dump info about a particular thread
 threads                        List all threads
 transaction                    dumps a specific transaction
 tty                            Dump info on a tty
 udp_endpoints                  lists all open UDP endpoints
 uhci_process_transfer          Processes a USB transfer with the given variables
 unreal                         Set realtime priority threads to normal priority
 unset                          Unsets the given variable
 unset_all                      Unsets all variables
 vars                           Lists all defined variables with their values
 vnode                          info about the specified vnode
 vnode_caches                   list all vnode caches
 vnode_usage                    info about vnode usage
 vnodes                         list all vnodes (from the specified device)
 waiting                        List all waiting threads (optionally for a specific semaphore)
 watchpoint                     Set/clears a watchpoint
 watchpoints                    Lists current break-/watchpoints
 wc                             Counts the lines, words, and characters of another command's output
 where                          Same as "sc"

#3

I have a hard copy of KDL commands, but can’t remember from where I copied it. This link may be of some use: https://www.haiku-os.org/documents/dev/welcome_to_kernel_debugging_land


#4

It’s easy to grab this list, actually:

  • Enter KDL
  • Type “help”
  • Type “continue”

Since your KDL session is stored in the syslog, you can then extract the list from there.