BianChengNan's Blog

Coding is hard, you can make it easy!


  • 首页

  • 关于

  • 标签

  • 分类

  • 归档

  • 搜索

感受 AI 的力量——利用 Cursor 自动生成 powershell 脚本下载 TheOldNewThing 博文

发表于 2023-08-06 | 更新于: 2026-02-17 | 分类于 AI
字数统计: | 阅读时长 ≈ 分钟

缘起

今天查资料的时候,偶然发现了一位国外网友镜像了 TheOleNewThing 从 2003 年到 2019 年的博文,竟然有 5000 多篇(真是高产)。值得注意的是,微软官方博客中许多链接都已经失效了。为了防止这位网友的镜像链接也失效,我决定赶紧将这些内容下载保存下来。手动保存显然不现实,毕竟有 5000 多篇文章呢!所以,我决定写脚本来自动下载,这才是明智之举!如果是几年前,我肯定要亲自动手写脚本,不过如今,AI 这么强大,我无需再费力。幸运的是,我利用 Cursor 自动生成下载脚本的全过程,并对其进行了简单的修改,成功地将全部 5000 多篇文章下载并压缩存档,并按年月分类打包好了!不得不赞叹一句,AI 真是太强大了。

阅读全文 »

难译 | windbg 乐趣之道(下)

发表于 2023-02-13 | 更新于: 2026-02-17 | 分类于 翻译
字数统计: | 阅读时长 ≈ 分钟

前言

Yarden Shafir 分享了两篇非常通俗易懂的,关于 windbg 新引入的调试数据模型的文章。原文链接如下:

part1:https://medium.com/@yardenshafir2/windbg-the-fun-way-part-1-2e4978791f9b

part2:https://medium.com/@yardenshafir2/windbg-the-fun-way-part-2-7a904cba5435

本文是第二部分的译文。同样在有道词典、必应词典、谷歌翻译的大力帮助下完成,感谢以上翻译工具,我只是一个搬运工。强烈建议英文好的朋友阅读原文,因为在翻译的过程中不可避免的按我的理解做了调整。

第一部分译文在这里。

以下是译文!


阅读全文 »

难译 | windbg 乐趣之道(上)

发表于 2023-02-12 | 更新于: 2026-02-17 | 分类于 翻译
字数统计: | 阅读时长 ≈ 分钟

前言

Yarden Shafir 分享了两篇非常通俗易懂的,关于 windbg 新引入的调试数据模型的文章。链接如下:

part1:https://medium.com/@yardenshafir2/windbg-the-fun-way-part-1-2e4978791f9b

part2:https://medium.com/@yardenshafir2/windbg-the-fun-way-part-2-7a904cba5435

本文是第一部分的译文。在有道词典、必应词典、谷歌翻译的大力帮助下完成,感谢以上翻译工具,我只是一个搬运工。强烈建议英文好的朋友阅读原文,因为在翻译的过程中不可避免的按我的理解做了调整。

阅读全文 »

2023 开工喽

发表于 2023-01-29 | 更新于: 2026-02-17 | 分类于 福利
字数统计: | 阅读时长 ≈ 分钟

今年本来不想写了(主要是没礼物送了)。还是按照惯例水一篇吧!

回首 2022

2022 年上半年依然很累,一直在加班,下半年强制自己休息,要不就挂了。付出了很多,也收获了很多:

公司层面:

  • 交付的项目得到了客户的认可

  • 我们的团队在不断壮大成长

  • 我们的技术交流依旧在持续举办

  • 我们一直在坚持 code review

个人层面:

  • 做到了每月分享一篇技术文章
  • 规划事情的能力有所提高
  • 理解问题能力有所提高
  • 心态稍好一些
  • STILL YOUNG, NAIVE
阅读全文 »

slimxml 编码错误

发表于 2022-12-25 | 更新于: 2026-02-17 | 分类于 调试
字数统计: | 阅读时长 ≈ 分钟

缘起

前一段时间,同事遇到一个配置文件读取错误问题,让我帮忙看看。最开始不相信这么基础的功能会有问题。排查完发现,确实是一个字符编码转换方面的 bug,而且只有特定字符会有问题。一起来看看吧。

阅读全文 »

快速搞定 vs 编译错误之 cs1583 —— xxx 不是有效的 win32 资源文件

发表于 2022-11-27 | 更新于: 2026-02-17 | 分类于 调试
字数统计: | 阅读时长 ≈ 分钟

缘起

之前写了一个小工具用来处理 .rc 文件,有些地方需要优化,周末准备继续优化一下。没想到,遇到了一个意想不到的错误—— xxx.tmp 不是有效的 win32 资源文件。 本文总结了使用 process monitor 快速定位此问题的过程。

阅读全文 »

加载了对应的调试符号文件也看不了函数名?也许是 fastlink 搞的鬼

发表于 2022-10-30 | 更新于: 2026-02-17 | 分类于 调试
字数统计: | 阅读时长 ≈ 分钟

缘起

在上一次折腾的过程中遇到了一个小问题 —— 在使用 IDA 查看反汇编的时候,居然搜索不到相关的函数,在 windbg 中使用 x 命令也搜不到,即使加载了符号文件也搜不到。最后发现是 /debug:fastlink 选项导致的。

阅读全文 »

这个崩溃,有点意思

发表于 2022-09-23 | 更新于: 2026-02-17 | 分类于 调试
字数统计: | 阅读时长 ≈ 分钟

缘起

前几天,在加班赶进度时遇到了一个意想不到的崩溃。由于是新加的代码导致的问题,所以很快就定位到了问题代码。但是,看了好几遍也没看出问题在哪?虽然代码在逻辑上有漏洞——某些情况下没有返回值,但是在我的认知里,应该不会导致崩溃。本文记录了使用 IDA 静态分析反汇编代码定位这个问题的过程。

阅读全文 »

排错实战 | 记一次有教益的焦点窗口查找过程

发表于 2022-08-28 | 更新于: 2026-02-17 | 分类于 排错
字数统计: | 阅读时长 ≈ 分钟

缘起

前一阵子,同事遇到了一个诡异的 bug,新版本发出来后之前运行好好的功能不好使了。原来的逻辑是:点击板上某个埋件的时候,会弹出四个定位编辑框,其中的一个编辑框需要获得焦点,方便用户直接修改,按 tab 会切换到下一个编辑框。但是新程序的行为发生了变化——点击埋件的时候,四个编辑框没有一个获得焦点。本文记录了使用 spyxx 和 accevent.exe 定位此问题的过程。

阅读全文 »

排错实战 | 授权码不知道被谁占用了?不可能的,这辈子都是不可能的

发表于 2022-07-31 | 更新于: 2026-02-17 | 分类于 排错
字数统计: | 阅读时长 ≈ 分钟

缘起

相信大家应该都接触过授权码。我们开发时用的程序也需要授权码才能使用,而且一个授权码每次只能在一台机器上激活。当授权码被占用时,会提示授权被某某机器占用了,只有占用授权码的同事迁出后,其它同事才能用。由于某些同事的机器名是随机的字符,不能很快知道是哪位同事在占用授权码。每次遇到授权码被占用的情况,只能在公司群里问,效率特别低。于是,我提意大家把机器名改成自己名字缩写,这样就可以直接知道是哪位同事在占用授权码。万万没想到,单纯修改机器名不好使。不好使是不可能的,这辈子都不可能的。安排!

阅读全文 »

调试实战 | 记一次有教益的内存碎片转储文件分析

发表于 2022-07-24 | 更新于: 2026-02-17 | 分类于 调试
字数统计: | 阅读时长 ≈ 分钟

前言

其实,这篇文章早在 2021 年就完成了初稿,后面一直没来得及完善(各种加班各种忙),所以一直没来得及整理发布。而且,我从这个案例里学到的东西太多了,很多内容并没有体现在本篇文章中,后续有机会一定会再写文章分享。话不多说,一起来看正文吧。

阅读全文 »

有意思的警告:c4551 function call missing argument list

发表于 2022-06-26 | 更新于: 2026-02-17 | 分类于 vs
字数统计: | 阅读时长 ≈ 分钟

缘起

这个端午节又在加班改 bug,没想到改了一个长见识的 bug。因为是过节,而且卷了一天确实有些累,没打算刨根问底。本想简单跟客户沟通一下错误代码是如何引入的。没想到客户对这个问题比较感兴趣,想把砂锅打破。好吧,恭敬不如从命。

阅读全文 »

难说 | 看来我还没有入门 CPP

发表于 2022-05-29 | 更新于: 2026-02-17 | 分类于 reading
字数统计: | 阅读时长 ≈ 分钟

前言

5 月 18 日参加了 Incredibuild 与博览网联合举办的主题为 《深入解析 20 个 c++ 典型输入错误》的线上研讨会。主要讲解了 20 个 C++ 中的典型错误。本以为作为一个 c++ 老鸟,做这些题应该问题不大吧?您猜怎么着?20 道题,我可能没做对 5 道题目。汗!!!

话不多说,请看题。

阅读全文 »

排错实战 | 记一次 pugixml 编译错误的解决

发表于 2022-05-29 | 更新于: 2026-02-17 | 分类于 vs
字数统计: | 阅读时长 ≈ 分钟

缘起

前一阵子,平台在换基线,底层接口变了很多,因此引出了至少 20000 个编译错误。在加班改完这些编译错误后,没想到又遇到了一个诡异的编译错误。而且之前还解决过类似的编译错误,但是这次却没能第一时间找出罪魁祸首。一起看看这是一个什么编译错误吧。

阅读全文 »

难说 | 读了几本书

发表于 2022-05-06 | 更新于: 2026-02-17 | 分类于 reading
字数统计: | 阅读时长 ≈ 分钟

前言

好久没在这个号上发表文章了,今天听群友说微信开放了私信功能,赶紧来试试。欢迎私信。

阅读全文 »

调试实战 | 使用 IDA 和 windbg 调试 LNK1123 转换到 COFF 期间失败:文件无效或损坏(下)

发表于 2022-03-27 | 更新于: 2026-02-17 | 分类于 调试
字数统计: | 阅读时长 ≈ 分钟

前言

在前面两篇文章中(这里,这里)总结了使用 windbg 和 IDA 找出 cvtres.exe 报错的根本原因,并把一些细节问题弄清楚了。但是还剩下一个小细节没有深究 —— 如果启动 cvtres.exe 的时候没有指定全路径,windbg 会报系统找不到指定的文件的错误。当时只是根据经验判断需要使用完整路径,但是为什么只使用文件名不行呢?今天就把这个问题也格尽。

说明: 写完本文,我犹豫了很久要不要发表出来。因为这个问题其实很简单(在设置 PATH 环境变量时,路径多加了双引号)。但是当时的我真的是当局者迷,完全没意识到这个问题,导致花费了很长时间。process monitor,gflag,IDA,windbg,轮番上场,甚至都调试起 windbg 来了(嗯,你没看错,不是用 windbg 调试,而是调试 windbg),好一阵忙活,中间还走了很多弯路(自以为是的在错误的函数中下断)。最后幡然醒悟,原来真理就在那躺着,静静的等着被发现。

之所以决定发出来有几点原因:

  1. 介绍了让进程自动中断到调试器中的方法,甚至是让一个调试器自动中断到另外一个调试器中的方法。
  2. 介绍了只对特定线程设置断点的方法、使用 wt 追踪函数调用的方法等。
  3. 提醒自己,在调试过程中一定要保持清醒的头脑。

没耐心的朋友直接跳到最后即可。

阅读全文 »

难说 | 程序员的品味

发表于 2022-03-21 | 更新于: 2026-02-17 | 分类于 难说
字数统计: | 阅读时长 ≈ 分钟

缘起

代码里有很多值得商榷的写法。今天来发点牢骚。

阅读全文 »

调试实战 | 使用 IDA 和 windbg 调试 LNK1123 转换到 COFF 期间失败:文件无效或损坏(中)

发表于 2022-03-06 | 更新于: 2026-02-17 | 分类于 调试
字数统计: | 阅读时长 ≈ 分钟

前言

在 上一篇文章 中,我们总结了使用 windbg 和 IDA 找出 cvtres.exe 报错的根本原因,但是留下了几个细节问题。本篇文章就来把这几个细节问题“格”干净。

阅读全文 »

调试实战 | 使用 IDA 和 windbg 调试 LNK1123 转换到 COFF 期间失败:文件无效或损坏(上)

发表于 2022-02-06 | 更新于: 2026-02-17 | 分类于 调试
字数统计: | 阅读时长 ≈ 分钟

缘起

前一段时间在折腾拆分 rc 的问题,已经把遇到的问题整理成文了。感兴趣的小伙伴儿可以参考这里,这里 和 这里。本以为不会有问题了,后续流程就请其它同事帮忙处理了,没想到在拆分实际项目时遇到了一个非常奇怪的链接问题。

本文总结了使用 process monitor 监听进程创建,查看进程参数、使用 gflags 设置 Image File Excution Options、使用 IDA 静态分析相关函数的业务逻辑以及使用 windbg 进行动态调试的整个过程。我认为这是一个由不良的编程习惯与 crt 的限制共同导致的问题。快来一起看看吧。

阅读全文 »

性能优化 | 记一次 .NET 程序的性能优化实战(4)—— .NET 源码查看及使用 vs 调试

发表于 2022-01-16 | 更新于: 2026-02-17 | 分类于 性能优化
字数统计: | 阅读时长 ≈ 分钟

前言

在前面三篇文章中应该已经把 .NET 中正则表达式相关的问题”格尽”了。感兴趣的小伙伴儿可以参考 part1,part2 和 part3。

由于篇幅原因,在前面的文章中并没有介绍如何下载 .NET 源码,如何调试 .NET 源码。本文会简单介绍如何下载 .NET 源码,如何在线浏览 .NET 源码,如何使用 vs 调试 .NET 源码。

阅读全文 »
1234…8
BianChengNan

BianChengNan

147 日志
34 分类
238 标签
RSS
GitHub 知乎 博客园
© 2019 — 2026 BianChengNan | 全博客共 字
0%