在使用LLDB研究调试异常时,我发现了以下文章和线程,以及其他提供相同信息的文章:https://www.natashatherobot.com/xcode-debugging-trick/Xcode/LLDB:Howtogetinformationaboutanexceptionthatwasjustthrown?当尝试这些的变体时,我能得到的最好结果是一个int:(lldb)po$rax106377751137688当将它插入Xcode内存查看器时,尝试将其作为base-10和hex值,似乎没有对象存储在那里。我得到诸如B80B0C160100000003...之类的结果,然后是眼
今天我在看clang的C++17支持页面。我注意到了一些奇怪的事情。将模板模板参数匹配到兼容参数(P0522R0)功能被标记为部分,因为它必须通过开关激活。他们的笔记says:DespitebeingthetheresolutiontoaDefectReport,thisfeatureisdisabledbydefaultinalllanguageversions,andcanbeenabledexplicitlywiththeflag-frelaxed-template-template-argsinClang4.Thechangetothestandardlacksacorresp
在上一篇博文《驱动开发:内核通过PEB得到进程参数》中我们通过使用KeStackAttachProcess附加进程的方式得到了该进程的PEB结构信息,本篇文章同样需要使用进程附加功能,但这次我们将实现一个更加有趣的功能,在某些情况下应用层与内核层需要共享一片内存区域通过这片区域可打通内核与应用层的隔离,此类功能的实现依附于MDL内存映射机制实现。应用层(R3)数据映射到内核层(R0)先来实现将R3内存数据拷贝到R0中,功能实现所调用的API如下:IoAllocateMdl该函数用于创建MDL(类似初始化)MmProbeAndLockPages用于锁定创建的地址其中UserMode代表用户层,I
在上一篇博文《驱动开发:内核通过PEB得到进程参数》中我们通过使用KeStackAttachProcess附加进程的方式得到了该进程的PEB结构信息,本篇文章同样需要使用进程附加功能,但这次我们将实现一个更加有趣的功能,在某些情况下应用层与内核层需要共享一片内存区域通过这片区域可打通内核与应用层的隔离,此类功能的实现依附于MDL内存映射机制实现。应用层(R3)数据映射到内核层(R0)先来实现将R3内存数据拷贝到R0中,功能实现所调用的API如下:IoAllocateMdl该函数用于创建MDL(类似初始化)MmProbeAndLockPages用于锁定创建的地址其中UserMode代表用户层,I