Tags

14 个页面

问题排查

unordered_map 查得到却取错值,一次静态 lambda 的内存事故

有一种 C++ 问题特别容易把人带偏:unordered_map::find 明明命中了,it->first 也对,可你再看 it->second 里面的字段,像是变成了另一个 key 的数据。

第一反应通常是怀疑 map 坏了,或者 hash 冲突把数据弄乱了。可 unordered_map 没那么玄。查找命中以后,key 和 value 对不上,更常见的原因不是容器失灵,而是你在更新 value 的时候已经写错了地方。

这篇记录的坑,就是函数内部的 static lambda 捕获了局部引用。第一轮看不出来,后面再调用时,lambda 还握着第一次调用留下的引用,问题就开始变得像“缓存串号”。

本地开发之痛:为何 `nul` 文件删不掉?一个“复合型”文件系统难题的破解之道

在软件开发的日常工作中,我们时常会遇到一些棘手的“小问题”,它们看似简单,却能耗费我们数小时的宝贵时间。其中,在 Windows 系统上删除特定文件(尤其是那些由开发工具链意外生成的文件)无疑是“重灾区”之一。

我就遇到了这样一个“地狱级”的难题:在本地开发时,项目中莫名其妙地出现了一个名为 nul 的文件。我尝试了 Windows 资源管理器、CMD 命令行,但系统都提示“找不到文件”或“无法删除”。这个文件就像一个幽灵,顽固地盘踞在我的项目目录中。

台式机引导加载失败

七月份的时候,心血来潮,周末没事干,想着给台式机清理下灰尘,四五年没有清理,灰尘也确实挺多的。弄完重启系统一切都是好好地,平常电脑不关机,长期开着,也就关下显示器,凑巧夫人过来常住,晚上她见得不各种光源,顺手就给电脑关机了。

Win11专业版,远程桌面登录报错:登录失败

主机莫名奇妙蓝屏无法启动,UEFI格式的引导,系统一直无法正常加载,切换到老的MBR格式的引导后,系统可以正常启动了。

常规操作,开启系统的远程桌面,另外一台机器测试,网络什么的都是正常。登录和以前一样,用了微软的账户登录系统。

远程桌面登录的时候,报错:登录失败,没有其他的任何信息。

微信备份工具局域网识别失败

隔段时间就会清理手机上的资料,相册、微信聊天记录都会备份到电脑,手机上仅保留部分需要的聊天记录。

以前都好好地,能轻松识别到手机和台式机在同一局域网内,直接备份聊天记录到电脑上,今天是各种失败。

10.243.52.68 也属于局域网

紧接上文,今天继续聊聊局域网的 IP 地址。上次为了同步代码,服务器配置了代理,服务器和家里的台式机打通了网络,在一个局域网里面,代理程序部署在台式机上,服务器通过代理访问外网。同步代码很慢,扔那边就没管了,隔了半个月,到服务器验证代码,发现Git代码同步失败,网络错误,也没太过脑子,细看报错信息。

Git子模块递交记录丢失

本地有一个 Git 仓库,其中的子模块在拉取时处于一个临时分支。我在该临时分支上提交了一些代码,随后将子模块切换回了 main 分支。然而,这些提交的代码似乎丢失了,无法在 main 分支中找到。我也找不到那个临时分支的记录。

后台服务TCP通讯异常排查

业务模型:后台服务借助 TCP 与集团的行情网关建立连接。每次连接时,需先行发送一个授权请求,随后持续发送心跳包以维持连接状态。 然而,某一天,收到了服务断开连接的告警信息。通过仔细排查日志后发现,后台服务一直在持续发送心跳包,但对方却毫无回应,可连接却始终未断开。