<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[项目代码在gtest单元测试中崩溃的问题]]></title><description><![CDATA[<p dir="auto">原问题发布在我项目的issue专栏中：<br />
<a href="https://github.com/FrozenLemonTee/original/issues/9" rel="nofollow ugc">https://github.com/FrozenLemonTee/original/issues/9</a></p>
<p dir="auto">具体细节请看原问题，此处不过多赘述。</p>
<p dir="auto">大致情况就是我在开启cmake Release优化后，对我的基础库项目中的双向链表使用gtest进行单元测试时发生崩溃。而且错误仅在对双向链表的相等运算符进行单元测试时发生，该源文件中仅有这一项测试会崩溃，同时具有相似实现的单向链表也有此问题。</p>
<p dir="auto">补充一些环境信息：<br />
发生崩溃的现象本人已在以下环境复现：</p>
<ol>
<li>Manjaro Linux+CPP23+GCC15.1+Google Test v1.16.0</li>
<li>Windows11+CPP23+MinGW 11.0 w64+Google Test v1.16.0</li>
</ol>
]]></description><link>http://forum.d2learn.org/topic/135/项目代码在gtest单元测试中崩溃的问题</link><generator>RSS for Node</generator><lastBuildDate>Wed, 12 Aug 2026 02:26:28 GMT</lastBuildDate><atom:link href="http://forum.d2learn.org/topic/135.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 23 Sep 2025 12:14:18 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to 项目代码在gtest单元测试中崩溃的问题 on Tue, 23 Sep 2025 23:49:46 GMT]]></title><description><![CDATA[<p dir="auto">chain对象104, 3个对象中间asan插入了红区保护<br />
通过内存布局看 <code>[00]</code> 的访问(size_)是在104最后32字节的, 但依然报错</p>
<p dir="auto"><img src="/assets/uploads/files/1758670521487-9399bf49-57c9-4572-a939-a85a2db7230b-image.png" alt="image.png" class=" img-fluid img-markdown" /></p>
<p dir="auto"><img src="/assets/uploads/files/1758670641657-821b2e52-ffc5-4751-a9f8-306ac05b66ef-image-resized.png" alt="821b2e52-ffc5-4751-a9f8-306ac05b66ef-image.png" class=" img-fluid img-markdown" /></p>
<p dir="auto"><strong>并且非常奇怪的是, 插入crash代码(减少使用printf/cout 造成代码生成变化带来的干扰) 92可以执行到, 95行无法执行到</strong></p>
<p dir="auto"><img src="/assets/uploads/files/1758671235080-14502bf3-0652-4f95-8779-5e65c987d49a-image-resized.png" alt="14502bf3-0652-4f95-8779-5e65c987d49a-image.png" class=" img-fluid img-markdown" /></p>
<p dir="auto">怀疑的地方</p>
<ul>
<li>分配器内存对齐问题?</li>
<li>operator=的实现是否正确处理基类?</li>
<li>哪里的代码造成UB, 导致代码生成出现问题?</li>
</ul>
]]></description><link>http://forum.d2learn.org/post/590</link><guid isPermaLink="true">http://forum.d2learn.org/post/590</guid><dc:creator><![CDATA[SPeak]]></dc:creator><pubDate>Tue, 23 Sep 2025 23:49:46 GMT</pubDate></item><item><title><![CDATA[Reply to 项目代码在gtest单元测试中崩溃的问题 on Tue, 23 Sep 2025 23:07:38 GMT]]></title><description><![CDATA[<p dir="auto">感觉可能是哪里的实现造成了UB, 导致 加几个printf 造成的代码生成不一样 错误也不一样了</p>
]]></description><link>http://forum.d2learn.org/post/589</link><guid isPermaLink="true">http://forum.d2learn.org/post/589</guid><dc:creator><![CDATA[SPeak]]></dc:creator><pubDate>Tue, 23 Sep 2025 23:07:38 GMT</pubDate></item></channel></rss>