草庐IT

windows - "Dead Kernel"Anaconda-Jupyter Cling C++ Windows

我新安装了Anaconda(v.4.3.1)并使用conda命令在Jupyter上为C++内核安装了cling。我使用了condainstall-cconda-forgecling=0.3.post我使用的是Windows8.1。我似乎找不到如何解决这个问题的答案:打开带有任何C++11、C++14或C++17内核的笔记本时出现“死内核”错误。安装后我根本无法使用c++内核。Python3内核完全可以正常工作。下面是我得到的错误的屏幕截图。DeadKernel:ErrorMessageScreenshot 最佳答案 对于future

Windows 进程描述符

进程的双向链表有Flink和Blink(ForwardLink和BackwardLink)。有一个进程标识符。所有这些都打包在一个称为PEPROCESS或_KPROCESS的结构中。但是这些在哪里,这个结构中的其他元素是什么?或者,如果答案既不简短也不简单,如果不在文档或头文件中,可以在哪里找到引用?(这是我看过的地方,可能忽略了什么。) 最佳答案 EPROCESSreferenceTheEPROCESSstructureisanopaquestructurethatservesastheprocessobjectforaproce

windows - 各种 Windows 版本附带的 Kernel32.dll 版本列表?

我正在尝试找出真正的Windows版本。出于某种原因,我的Wise安装程序有时会在Windows7上报告XP版本号。一种解决方案是查看此处提到的kernel32.dll版本:HowtodetecttrueWindowsversion?我正在尝试找出各种Kernel32.dll版本对应的Windows版本。 最佳答案 我找不到每个Windows版本的Kernel32.dll版本列表,但从测试(XPSP3、Vista、Windows7)来看,Kernel32.dll版本#(Major.Minor)与Windows版本相同.我具体找到了什

windows - Windows 如何记录硬件错误?

关闭。这个问题是off-topic.它目前不接受答案。想改进这个问题吗?Updatethequestion所以它是on-topic用于堆栈溢出。关闭10年前。Improvethisquestion最近在我的事件日志中得到了这个:Afatalhardwareerrorhasoccurred.Reportedbycomponent:ProcessorCoreErrorSource:MachineCheckExceptionErrorType:Bus/InterconnectErrorProcessorID:1问题是,如何设计一个可以记录此类错误的日志子系统?如果足以发出一个DMA请求来写入

windows - 获取文件基名

我使用哪些Windows内核API从驱动程序获取路径的基本文件名?(我假设我不必在字符串中搜索最后一个'\')例如从c:\foo\bar.txt获取bar.txt 最佳答案 您可以考虑使用FsRtlDissectName构建循环直到剩余的路径参数为空。这样的事情可能会做你想做的事(尽管你需要处理诸如ADS流名称之类的事情,以及添加适当的错误检查):voidFetchFileName(INPUNICODE_STRINGpSourceString,OUTPUNICODE_STRINGpFileName){UNICODE_STRINGcu

c++ - 获取所有 Windows 内核对象及其安全权限

我需要获取所有Win-Kernel对象的访问权限列表;我的工作:for(inti=0;iIfDACL=Null->"allcandoall"IfDACL!=Null->parsingDACL-mask我在正确的轨道上?顺便说一下,我有:~300个没有DACL的句柄~100个带DACL的句柄(在Windows7上测试) 最佳答案 如果您想通过HANDLES进行暴力破解,请不要在9999处停止。遍历所有32位值。或者,您可以枚举所有Usermode-Process-Handles:http://forum.sysinternals.co

c - 为什么 PsGetCurrentProcessId() 返回 null?

我遇到了一个奇怪的问题:在“系统”进程的一个线程中,我调用了PsGetCurrentProcessId(),但得到了一个空值。此外,我检查了线程的_CLIENT_ID,发现UniqueProcess和UniqueThread都是null。我还检查了当前进程,即'system'进程,发现它的UniqueProcessId为4,这是正常的。为什么? 最佳答案 系统进程ID是一个非常好的“hack”,因此多个工具(例如ProcExp、windbg)不必处理特殊情况的仅内核线程或空闲函数调度程序。如果你是一个只有内核的线程,你就没有关联的进

windows - 使用 1394 连接调试 Windows XP 内核

主机:Windows7x64guest:WindowsXPSP3x86我在两端都有2个PCI火线卡(SIIG1394安装为德州仪器OHCI兼容IEEE1394主机Controller)。在WindowsXP上,我在boot.ini中添加了以下内容:/debug/debugport=1394/channel=10我重新启动了WindowsXP,OHCI驱动程序变成了黄色(这是预料之中的)。在Windows7(主机)上,我运行WinDBG(x86),打开内核调试,1394,指定channel10并运行它说:Using1394fordebuggingChecking1394debugdriv

Windows内核内存保护

Windows中每个进程的高端内存(0x80000000或0xc0000000)为内核代码保留,用户代码无法访问这些内存区域,如果尝试访问将抛出访问冲突异常。我想知道内核空间是如何保护的?是通过内存分段还是通过分页?我想听听技术解释。非常感谢,迈克尔。 最佳答案 假设您正在谈论x86和x64架构。内存保护是使用分页系统实现的。x86/x64CPU上的每个页表条目都有一个位来指示它是用户页还是主管页。只有使用CPLCPL是“当前特权级别”,有时也称为Ring。Windows仅使用两个环,尽管CPU实现了4个环。环0是Windows称为

windows - 无法使用选项上的 bcdedit/debug 启动 Windows 7(32 位)

我正在阅读有关Windows内部结构的书籍和文章。我想在Windows7(32位)机器的WinDBG中启动内核调试器。我尝试通过设置bcdedit/debug/on启用机器进行调试。重启机器后,它只是挂起。然后在安全模式下关闭bcdedit/debug/off,使我的机器正常工作。我在互联网上搜索了原因,并按照其中一篇文章中的建议停止了Skype,该文章称这是挂起的原因之一。做所有这些仍然不能使我的机器在Debug模式下工作。谁可以帮我这个事?令人沮丧的是,我有书籍和视频,其中他们以如此简单的方式进行内核调试,而我正在努力启动调试器:) 最佳答案