NetBSD - how to display information about kernel memory in GDB?
1
vote
0
answers
77
views
I'm debugging the NetBSD kernel with
gdb
, but I would like to be able to display information about the memory region an address is in. I'm mainly interested in finding out the permissions of a page of memory, along with the size of the region it is enclosed in (if the latter part of that question makes sense).
Does the kernel have a concept of memory regions in kernel space? i.e. a contiguous block of pages (virtual addresses) reserved for a specific purpose (which is kept track of somewhere)? Or is it down to each specific module to keep track of which blocks of memory belong to a logical group?
Here's an example of what I'm looking for:
(gdb) addressinfo 0xffffffff80e1000
Start End Offset Perm Size
0xffffffff80e0000 0xffffffff80e2000 0x1000 r--p 0x2000
I don't mind adding a hook to the kernel for a GDB script to output this information, if this functionality does not exist. At the minimum it would be useful to add a hook for GDB scripts to view the page permissions.
Asked by Isaac
(111 rep)
Mar 19, 2024, 12:15 PM
Last activity: Mar 19, 2024, 02:20 PM
Last activity: Mar 19, 2024, 02:20 PM