扩展内存检查器以进行 C/C++ 调试 |详文

扩展内存检查器以进行C/C++调试在Chrome92中引入了MemoryInspector,这是一种用于检查线性内存缓冲区的工具,提供了更强大的线性内存缓冲区调试选项。本文讨论的是如何改进Inspector以进行C/C++调试以及在此过程中遇到的技术挑战。如果你不熟悉C/C++调试和MemoryInspector,可以看看相关的博客文章:对深度内存调试感兴趣?请参阅。想要了解完整的C/C++调试工具套件吗?请参阅使用和。

相关推荐

封面图片

使用 DOS 调试器进行编程 | 详文

使用DOS调试器进行编程MS-DOS以及Windows98都带有调试器程序。命名可用于处理程序集语言说明和机器代码。在MS-DOS版本6.22中,这程序已命名并且通常存在在。在Windows98上,该程序是通常出现在。是的面向行的调试器,支持各种有用的功能使用和调试由机器组成的二进制可执行程序法典。DEBUG.EXEDEBUG.EXEC:\DOS\DEBUG.EXEC:\Windows\Command\Debug.exe在这篇文章中,我们将了解如何使用此调试器程序来组装一些最小的程序,将一些字符打印到标准输出。我们首先创建一个7字节的程序来打印单个字符。然后我们创建一个23字节的程序来打印“你好,世界”字符串。这篇文章中提供的所有步骤都很好用Windows98也是如此。

封面图片

C++服务器开发精髓 | 在线阅读 | #电子书

C++服务器开发精髓#电子书本书从操作系统原理角度讲解进行C++服务器开发所需掌握的技术栈。全书总计9章:第1~2章讲解C++11/14/17新标准中的常用特性、新增类库,以及C++开发者必须熟练掌握的开发调试工具链;第3~6章详细讲解C++服务器开发中的多线程编程技术、网络编程重难点知识、网络故障调试与排查常用工具,以及通信协议的设计思路、技巧;第7~8章详细讲解一个带网络通信组件的高性能服务的基本设计思路和注意事项;第9章进一步补充服务相关的常用模块设计思路和方法。本书秉承的思想是,通过掌握技术原理,可以轻松制造“轮子”,灵活设计出优雅、鲁棒的服务,并快速学习新技术。另外该网站上还有作者写的源码分析系列文章

封面图片

美国政府建议使用内存安全编程语言 C/C++都被排除在外

美国政府建议使用内存安全编程语言C/C++都被排除在外为什么大型科技公司都关注Rust呢?因为相对来说,Rust安全性更高,微软认为通过Rust重新编写某些组件有助于提高内存安全性。日前美国政府下属的ONCD办公室发布了一份报告就详细介绍了建议开发者们使用各种内存安全编程语言,尽管ONCD没有明确罗列哪些语言是内存安全编程语言,但强调了C和C++缺乏与内存安全相关的特征,因此实际上就是不建议开发者使用C和C++。需要强调的是,这里只是从内存安全角度出发来建议,并不是评判一种编程语言的好坏,ONCD称如果软件一开始就选择使用内存安全编程语言的话,那么可以提高安全性。报告也没有建议使用哪些内存安全语言来替代C和C++,毕竟只是建议,实际上开发者和企业如何选择编程语言还是开发者们自己的事情,毕竟也要考虑到软件本身。...PC版:https://www.cnbeta.com.tw/articles/soft/1421763.htm手机版:https://m.cnbeta.com.tw/view/1421763.htm

封面图片

NSA建议开发者考虑从C和C++转换为内存安全的编程语言

NSA建议开发者考虑从C和C++转换为内存安全的编程语言"NSA建议企业考虑在可能的情况下,从很少或没有提供固有内存保护的编程语言(如C/C++)转向内存安全语言。内存安全语言的一些例子是C#、Go、Java、Ruby和Swift,"NSA说。该机构引用了Google和微软最近的研究,他们在Chrome和Windows中分别有70%的安全问题与内存有关,其中许多是使用C和C++的结果,这两种语言更容易出现基于内存的漏洞。"NSA在"软件内存安全"网络安全信息表中指出:"恶意的网络行为者可以利用这些漏洞进行远程代码执行或其他不利影响,这往往可以损害一个设备,成为大规模网络入侵的第一步。常用的语言,如C和C++,在内存管理方面提供了很大的自由度和灵活性,同时严重依赖程序员对内存引用进行必要的检查。"因此,该机构建议尽可能使用内存安全语言,无论是应用开发还是系统编程。虽然大多数信息安全专家都熟悉关于内存安全语言的辩论,但也许不是所有的开发人员都熟悉。不过,也许他们应该熟悉,因为这是一个几十年前就存在的问题,正如Java创建者JamesGosling最近在讨论如何以及为什么创建Java时指出的。如果有的话,NSA的文件为开发者提供了一个清晰的、通俗的解释,说明了向内存安全语言转变背后的技术原因。在内存安全方面讨论最多的语言可能是Rust,它是作为C和C++的"替代品"的主要候选。Linux内核最近引入了Rust作为C语言的第二种语言,继Android开源项目之后。这些项目不会取代旧的C/C++代码,但对于新的代码会优先考虑Rust。另外,微软Azure首席技术官MarkRussinovich最近呼吁所有开发人员在所有新项目中使用Rust而不是C和C++。"通过利用这些类型的内存问题,恶意行为者--他们不受软件使用的正常预期约束--可能会发现他们可以在程序中输入不寻常的输入,导致内存以意想不到的方式被访问、写入、分配或删除,"NSA解释说。但是--正如专家们在关于Rust和C/C++的辩论中所指出的那样--NSA警告说,仅仅使用一种内存安全语言并不能默认排除将内存错误引入软件。此外,语言通常允许使用不是用内存安全语言编写的库。"即使使用内存安全语言,内存管理也不完全是内存安全的。大多数内存安全语言承认,软件有时需要执行不安全的内存管理功能来完成某些任务。因此,有一些类或函数被认为是非内存安全的,并允许程序员执行可能不安全的内存管理任务,"NSA说。"一些语言要求任何内存不安全的东西都要明确注释为内存不安全,以使程序员和程序的任何审查人员意识到它是不安全的。内存安全语言也可以使用以非内存安全语言编写的库,因此可以包含不安全的内存功能。尽管这些包含内存不安全机制的方式颠覆了固有的内存安全,但它们有助于定位可能存在内存问题的地方,允许对这些代码部分进行额外的审查。"NSA指出,向一些内存安全语言的转化可能要付出性能上的代价,这需要开发人员学习一种新的语言。它还指出,开发人员可以采取一些措施来加固非内存安全语言。例如,Google的Chrome团队正在探索多种方法来加固C++,但这些方法也会带来性能开销。在可预见的未来,C++将继续留在Chrome的代码库中。NSA建议进行静态和动态应用程序安全测试,以发现内存问题。它还建议探索内存加固方法,如控制流保护(CFG),它将对代码的执行位置进行限制。同样,建议使用地址空间布局随机化(ASLR)和数据执行预防(DEP)。...PC版:https://www.cnbeta.com.tw/articles/soft/1332577.htm手机版:https://m.cnbeta.com.tw/view/1332577.htm

封面图片

XAD:全面的C++自动微分库,旨在为任意规模的生产代码提供易用性和高性能。

:全面的C++自动微分库,旨在为任意规模的生产代码提供易用性和高性能。自动微分(也称为算法微分)是一组用于计算指定为计算机程序的函数的偏导数的技术。由于每个程序执行总是由一系列具有已知导数的简单运算(算术和数学函数,如sin、exp、log等)组成,因此可以重复应用链式法则来自动计算偏导数。XAD在C++中使用运算符重载来实现这一点,从而允许在对程序进行最小更改的情况下计算导数。有关更多详细信息,请参阅自动微分数学背景。主要特征:使用运算符重载的任何顺序的正向和伴随模式检查点支持(用于磁带内存管理)外部函数接口(集成外部库)螺纹安全胶带正式的异常安全保证高性能在大型生产代码库中经过实战测试

封面图片

美国政府呼吁开发者停止使用C / C++

美国政府呼吁开发者停止使用C/C++由于C和C++允许直接操作内存地址,且缺乏边界检查,容易出现内存安全问题。微软和谷歌最近的研究发现,大约70%的安全漏洞是由内存安全问题引起的。白宫国家网络主任办公室(ONCD)在2024年2月26日发布的一份报告中呼吁开发人员通过使用不存在内存安全漏洞的编程语言来降低网络攻击的风险。2022年11月的NSA将C#、Go、Java、Ruby和Swift以及Rust列为其认为内存安全的编程语言。根据的数据,截至2023年,大约22%的软件程序员使用C++,19%使用C。线索:@ZaiHuabot投稿:@TNSubmbot频道:@TestFlightCN

🔍 发送关键词来寻找群组、频道或视频。

启动SOSO机器人