Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/28.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux 在TLB访问中设置断点_Linux_Debugging_Armv6_Tlb - Fatal编程技术网

Linux 在TLB访问中设置断点

Linux 在TLB访问中设置断点,linux,debugging,armv6,tlb,Linux,Debugging,Armv6,Tlb,假设我知道PID,有没有可能在特定PID访问ARMV6中的TLB条目(翻译查找缓冲区)后设置断点 TLB条目是否有特定的地址,以便我可以为它们设置断点?在用户空间中这样做几乎是不可能的,因为内核和硬件从用户那里抽象出了这一点 当出现虚拟地址查找未命中时,TLB实际上由硬件填充,并且每次出现上下文切换时,TLB都会被清除 我能想到的唯一方法是在linux中使用一些kprintf并修改内存管理代码,而这对于kgdb来说并不容易理解 这个堆栈溢出问题的答案可能会帮助您如果我是从内核空间进行的呢?如上所

假设我知道PID,有没有可能在特定PID访问ARMV6中的TLB条目(翻译查找缓冲区)后设置断点


TLB条目是否有特定的地址,以便我可以为它们设置断点?

在用户空间中这样做几乎是不可能的,因为内核和硬件从用户那里抽象出了这一点

当出现虚拟地址查找未命中时,TLB实际上由硬件填充,并且每次出现上下文切换时,TLB都会被清除

我能想到的唯一方法是在linux中使用一些kprintf并修改内存管理代码,而这对于kgdb来说并不容易理解


这个堆栈溢出问题的答案可能会帮助您

如果我是从内核空间进行的呢?如上所述,您可以使用kprintf,可能需要修改内存管理代码,还需要了解ARM V6 TLB结构。