我正在使用我在Direct Memory Access in Linux发布的驱动程序,将某些物理内存映射到用户空间地址。但是,我无法使用GDB查看任何地址; 即,x 0x12345678(其中0x12345678是mmap的返回值)失败,并显示错误“Cannot access memory at address 0x12345678”。
是否有办法告诉GDB可以查看这个内存?或者,在mmap中是否可以执行某些不同的操作(无论是调用还是foo_mmap的实现),使其能够访问此内存?
请注意,我并不是在询问/dev/mem(如第一个代码片段中所述),而是关于通过ioremap(),virt_to_phys()和remap_pfn_range()获取的内存进行mmap。
是否有办法告诉GDB可以查看这个内存?或者,在mmap中是否可以执行某些不同的操作(无论是调用还是foo_mmap的实现),使其能够访问此内存?
请注意,我并不是在询问/dev/mem(如第一个代码片段中所述),而是关于通过ioremap(),virt_to_phys()和remap_pfn_range()获取的内存进行mmap。