摘要: 记一次 .NET 程序的性能优化实战(3)—— 深入 .NET 源码原总结工具perfview性能优化dotNETpart3regex正则表达式 前言 前两篇文章 part1 和 part2 基本上理清了 IsSplitter() 运行缓慢的原因 —— 在函数内部使用了带 Compile 选项的正则 阅读全文
posted @ 2021-12-26 22:25 BCN 阅读(9) 评论(0) 推荐(0) 编辑
摘要: 记一次曲折的多资源文件拆分折腾过程(3)在 windows 下用 linux 神器 gdb 调试 git原总结工具调试排错冲突rcgitmultiple rcgdbgithub 前言 在前面两篇文章 记一次曲折的多资源文件拆分折腾过程(1) 和 记一次曲折的多资源文件拆分折腾过程(2) 中,已经把折 阅读全文
posted @ 2021-12-24 08:10 BCN 阅读(15) 评论(0) 推荐(0) 编辑
摘要: 记一次曲折的多资源文件拆分折腾过程(2)原总结工具调试排错冲突rcgitmultiple rcpecff explorerhexbeyond compare 前言 本篇是上篇文章—— 记一次曲折的多资源文件拆分折腾过程(1) 的续篇。在上篇文章找到了导致编译报错的根本原因是 .rc 文件的编码不再是 阅读全文
posted @ 2021-12-24 08:05 BCN 阅读(10) 评论(0) 推荐(0) 编辑
摘要: 记一次曲折的多资源文件拆分折腾过程(1)原总结工具调试排错冲突rcgitmultiple rcpecff explorerhexbeyond compare 缘起 最近这些天,我一有时间就捣鼓 .rc 。用 git 管理过 .rc 文件的小伙伴儿应该都知道,.rc 文件会被 git 默认当作二进制文 阅读全文
posted @ 2021-12-24 08:03 BCN 阅读(16) 评论(0) 推荐(0) 编辑
摘要: 记一次 .NET 程序的性能优化实战(2)—— 使用 perfview 找出 Regex 慢的根本原因原总结工具perfview性能优化dotNETpart2ETW 前言 我在上一篇文章《记一次 .NET 程序的性能优化实战(1)—— 使用 process explorer 快速定位问题代码》中用 阅读全文
posted @ 2021-12-24 07:59 BCN 阅读(33) 评论(0) 推荐(0) 编辑
摘要: 记一次 .NET 程序的性能优化实战(1)—— 使用 process explorer 快速定位问题代码原总结工具process explorer排错性能优化sysinternals 缘起 因为需要分析 tfs 提交日志,并按照一定条件(比如,提交信息或者用户名)分类整理,特意写了这个小工具。在使用 阅读全文
posted @ 2020-11-25 10:28 BCN 阅读(72) 评论(0) 推荐(0) 编辑
摘要: 有趣的"内存泄漏"原总结调试vs内存泄漏procexp 说明 今天的文章比较短,基本上全在视频里了。 这是一份有意思的 “内存泄漏” 视频。加上引号是因为虽然可以称作内存泄漏,但是又算不上真正意义上的内存泄漏。因为虽然短时间内内存暴增,但终归还是能释放掉的。 其实,这个 “内存泄漏” 背后隐藏着一个 阅读全文
posted @ 2020-11-25 10:26 BCN 阅读(73) 评论(0) 推荐(0) 编辑
摘要: 栈局部变量优化探究,意外发现了 vs 的一个 bug ?原总结调试异常stackoverflowvs_chkstk栈溢出优化optimization 缘起 我在《栈又溢出了》 一文中记录了一个奇怪的栈溢出问题。虽然解决了,但是总感觉哪里不太合理。我想,vs 一定有一个合理的设置。一起折腾起来吧! < 阅读全文
posted @ 2020-11-10 10:05 BCN 阅读(167) 评论(0) 推荐(0) 编辑
摘要: 栈又溢出了原总结调试异常stackoverflowvs_chkstk栈溢出 缘起 最近,项目代码再次出现了栈溢出问题。这次的栈溢出跟上次有点不同,调用栈不深,而且报错的时候函数代码还没开始执行。是不是有点“诡异”?一起来看看这次是什么原因导致的吧。 <!--more--> “诡异” 的栈溢出 运行程 阅读全文
posted @ 2020-11-03 09:51 BCN 阅读(64) 评论(0) 推荐(0) 编辑
摘要: let's make dependency walker fast again原总结优化工具dependency walkerprocess monitorprocess explorer 缘起 最近,经常需要调查 dll 加载失败的问题。前一阵子刚分享了一篇,感兴趣的小伙伴而可以点击 这里。相信, 阅读全文
posted @ 2020-11-03 09:49 BCN 阅读(174) 评论(0) 推荐(0) 编辑
摘要: 有趣的异常原总结调试异常stackoverflowvs 缘起 最近,在项目中遇到一个有趣的异常。在没附加调试器的情况下会直接崩溃。附加调试器后,会中断到调试器中,但是按 F5 继续运行后,程序还能继续执行。 interesting !你能猜出这是个什么异常吗? <!--more--> 初遇错误 在测 阅读全文
posted @ 2020-11-03 09:45 BCN 阅读(62) 评论(0) 推荐(0) 编辑
摘要: 再分享 5 个 vs 调试技巧原总结调试vs2019vs技巧 前言 之前在 《5 个非常实用的 vs 调试技巧》 和 《继续分享 5 个实用的 vs 调试技巧》中分享了 10 个我认为非常值得了解的 vs 调试技巧,本周继续分享 5 个很实用的调试技巧。 <!--more--> 1. 显示下一条语句 阅读全文
posted @ 2020-11-03 09:43 BCN 阅读(182) 评论(0) 推荐(0) 编辑
摘要: 使用 windbg gflags dumpbin 排查应用程序启动错误原排错debug调试troubleshootdependency walkerdumpbinwindbggflags总结 缘起前一阵子,更新完依赖库后,启动程序报错了。这已经不是第一次报错了。so…… let's dig in! 初遇错误更新完依赖库,编译通过后,高高兴兴的在 vs 中使用 ctrl + F5,没想到却遇到... 阅读全文
posted @ 2020-09-28 14:01 BCN 阅读(349) 评论(0) 推荐(0) 编辑
摘要: 你很可能需要知道这个调试小技巧原调试debugvsnatvis总结 缘起最近在调试的时候,需要观察第三方容器中每一个元素的值。默认情况下,vs 并不知道如何显示第三方容器的内容,只能手动观察容器中的每一个值,超级不方便。我找到一个非常给力的好办法,你还知道其它好办法吗?为了更直观的感受这种便利,我特意截图对比了三种常用的观察变量的方法。 直接观察1、通过 vs 的悬浮提示观察。小贴士:把鼠标... 阅读全文
posted @ 2020-09-16 15:23 BCN 阅读(214) 评论(0) 推荐(0) 编辑
摘要: c++ 有趣的动态转换之 delete 崩溃探究兼谈基类虚析构的重要性原调试debugvsc++dynamic_castcrashdeletestack 前言在《有趣的动态转换》 这篇文章中,运行 测试代码3 会崩溃。本文试图揭示崩溃的原因。 错误更正在开始之前,需要更正《C++ 虚函数简介》中的一个错误。关于 CBase 和 CDerived 的虚表内容,析构函数的位置并不是直接存储了虚函... 阅读全文
posted @ 2020-09-16 15:17 BCN 阅读(494) 评论(0) 推荐(0) 编辑
摘要: 有趣的动态转换原调试debugvsc++dynamic_castcrash 缘起最近,在项目代码中看到一个非常神奇的类型转换—— 类型A 的指针居然能动态转换成另外一个完全没有任何关系的类指针。这…… 完全颠覆了我的认知。为了进一步了解这个神奇的操作,我特意模拟了项目代码中的情形,一起来看看吧。 代码简介BaseA 和 BaseB 是两个基类,NewA 继承自 BaseA,NewB 继承自 ... 阅读全文
posted @ 2020-09-16 15:15 BCN 阅读(152) 评论(0) 推荐(0) 编辑
摘要: 在 tortoisegit 执行 commit 会跳过暂存区直接提交到仓库中吗? 原调试debug排错troubleshootprocess monitorsysinternalsautoruns 缘起 之前与同事交流 git 时,简单介绍了 git shell 和 tortoisegit (戏称 阅读全文
posted @ 2020-08-31 16:30 BCN 阅读(718) 评论(0) 推荐(0) 编辑
摘要: WindowsSdkDir 从何处来?原排错调试vssdk 缘起在《修复被破坏的 vs 工程设置》和《修复被破坏的 vs 工程设置(续)》这两篇文章中,分享了调查 VS 包含路径错误的问题,感兴趣的小伙伴儿可以查看。依稀记得在 2013 年的时候调查过类似的问题。前一阵子没翻到,这两天在翻笔记的时候居然意外的找到了。特整理分享给大家。依稀记得是编译的时候有问题才调查的。 查看 Windows... 阅读全文
posted @ 2020-08-27 08:56 BCN 阅读(757) 评论(0) 推荐(0) 编辑
摘要: 一次简单的服务器 cpu 占用率高的快速排查实战原svchost病毒服务器cputrouble shoot排错前两天,朋友遇到一个线上 cpu 占用率很高的问题,我们俩一起快速定位并解决了这个问题。在征求朋友同意后,特发此文分享整个过程。本文以对话的形式展开,加上我的内心独白。文中对话与实际对话略有出入。友: 在吗?我: 怎么了兄弟?友: 这边有一台服务器客户说 cpu 占用率高,怀疑挖矿了。我... 阅读全文
posted @ 2020-08-11 13:29 BCN 阅读(1525) 评论(0) 推荐(0) 编辑
摘要: 修复被破坏的 vs 工程设置原排错调试vsbcginclude path 缘起前几天打开工作项目进行编译,没想到居然报错,明明前一天编译还正常的。简单排查后,临时修复了问题。但是今天新建工程时居然还有相同的问题,是可忍熟不可忍?本文记录了排查过程,希望对各位小伙伴儿有帮助。话不多说,上菜。 初遇错误不方便使用实际工程截图,就用我新建的测试工程吧,提示的错误是一样的。compile-error... 阅读全文
posted @ 2020-08-11 13:28 BCN 阅读(167) 评论(0) 推荐(0) 编辑