Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/email/3.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
C++ 是否有任何运行时断言,如:内存是只读的还是当前进程可访问的?_C++_C_Kernel_Assert - Fatal编程技术网

C++ 是否有任何运行时断言,如:内存是只读的还是当前进程可访问的?

C++ 是否有任何运行时断言,如:内存是只读的还是当前进程可访问的?,c++,c,kernel,assert,C++,C,Kernel,Assert,是否有任何运行时断言,如:内存是只读的还是当前进程可以访问内存? (我对内核模式断言更感兴趣)是的 当然,“当前进程”的概念在内核中并不存在。通常,“当前进程”类似于对象的这个指针,有点像隐藏变量。在内核中谈论“当前进程”就像在main中谈论this——它根本不存在。什么平台/环境/版本等?@Plasmah windows驱动程序。例如,fs minifilter..如果内存不可访问或写入只读内存,则会出现一个不错的页面错误。@MaximYegorushkin:我认为文件系统驱动程序不会出现一个

是否有任何运行时断言,如:内存是只读的还是当前进程可以访问内存? (我对内核模式断言更感兴趣)

是的


当然,“当前进程”的概念在内核中并不存在。通常,“当前进程”类似于对象的
这个
指针,有点像隐藏变量。在内核中谈论“当前进程”就像在
main
中谈论
this
——它根本不存在。

什么平台/环境/版本等?@Plasmah windows驱动程序。例如,fs minifilter..如果内存不可访问或写入只读内存,则会出现一个不错的页面错误。@MaximYegorushkin:我认为文件系统驱动程序不会出现一个不错的页面错误。请记住,这些是在交换内存页中分页所需的驱动程序。很好的链接,我的想法是:是否可以检查内存是否可访问,如果不可以,在调试期间挂断系统(仅限),然后从无效状态返回。。这将节省大量内核调试时间。我不同意“内核中不存在当前进程”内核是一个进程,它有自己的进程用户进程空间,这与“系统空间”不同,“evryere”@BransDs:请随时保留您的意见。但是如果你认为“内核地址空间”类似于“用户地址空间”,你会发现很难解释
DRIVER\u IRQL\u NOT\u LESS\u或\u EQUAL
BSOD。