- 博客(41)
- 资源 (7)
- 收藏
- 关注
原创 动态链接库延迟加载
开发的时候遇到一个问题,有一个可执行程序需要依赖另外一个目录的动态库,但是对这个dll接口的引用采用的是静态依赖的方式。解决不难,可以通过LoadLibrary动态加载,然后调用其接口。但是这用就没法方便的通过静态以依赖的方式方便的调用其接口了。 探索后发现vs支持延迟绑定。。。就是调用的时候可以通过静态依赖的方式进行调用,但是pe导入表不再依赖调用的dll,在需要使用该dll的时候再动态加载...
2018-12-24 18:39:01 595
原创 后台进程windows窗口无法置顶的问题
后台进程在初始化的时候是无法通过设置顶层窗口弹到前台的,经测试,可以通过设置一个Timer,在Timer中通过SetWindowPos将对话框窗口拉到前台,先设置HWND_TOPMOST然后设置HWND_NOTOPMOST是为了将窗口弹到顶层但是不持续的在顶层。{ const static int s_timer = 11234; if (msg == WM_INITDIA...
2018-12-14 16:02:35 1025 1
转载 vs2008 F5调试慢的问题
在C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE文件夹中,新建symsrv.ini文件;[plain] view plain copy[exclusions] *.* 不加载文件;
2017-08-12 22:11:01 812
原创 xp下一个奇怪的问题
今天编码遇到了一个很奇怪的问题,xp下界面程序无法显示,通过排查发现依赖shell32.dll这个动态库,如果在对话框创建之前加载这个dll就能正常的显示.
2017-03-03 17:42:45 356
转载 vs2015工程配置
建立的项目多了的时候 , 就希望能自己配置好一个项目模板,以后建立的项目自动使用这个模板就省事了,不用每次都要改, 每个项目都要改了!经不懈努力, 终于 发现了 vs2015,vs2012 (我只用了这两个,其他应该差不多方法)的项目模板的位置及更改方法了,如下:vs菜单->视图->属性管理器->(你的项目)->(你的配置)->双击“Microsoft.Cpp.Win32.user
2016-11-05 15:37:09 5185
原创 ida配合windbg调试程序
ida是静态pe文件分析工具,有强大的汇编代码分析功能可以将pe文件的汇编代码近似还原成c语言代码,windbg是动态调试工具,运行时调试非常方便,对微软自家的pdb符号文件支持的很好,两个工具各有所长。 以下是ida和windbg代码对应的方法:1.ida中静态pe文件基址2.ida中winmain函数相对基址的偏移量3.windbg中模块运行后模块的基址4.在windbg
2016-07-28 11:23:54 5878
转载 windbg设置双机调试的方法
windbg已不提供单独下载,wdk驱动开发工具包里附带有这个调试器.官网提供下载:http://msdn.microsoft.com/en-us/windows/hardware/gg487463.aspx1.#配置VMware工作站客户机(windows XP)0.为VMware工作站添加串口 右键setting,选择add,选择Serial Po
2016-07-01 11:17:03 6595
原创 通过windbg排查程序内存泄露
1.设置windbg工具内存跟踪gflags -i memtest.exe +ust2.运行一段时间通过调试器windbg attach中断输入命令 !heap -s输出类似:0:001> !heap -s3.过段时间再次中断输入!heap -s,查看增长明显的栈。4.查看栈情况!heap -stat h 004000005.查看堆详细信息!heap
2016-06-14 16:22:02 5313 2
原创 windows窗口程序一个诡异的bug
今天开发一个带界面的小工具发现了一个诡异的bug,最后发现父窗口如果设置了EXSTYLE属性,子窗口的ListCtrl的LVS_EX_LABELTIP属性将会失效。
2016-01-20 12:17:38 459
转载 反向迭代器删除元素
众所周知,在使用迭代器遍历 STL 容器时,需要特别留意是否在循环中修改了迭代器而导致迭代器失效的情形。下面我来总结一下在对各种容器进行正向和反向遍历过程中删除元素时,正确更新迭代器的用法。本文源码:https://code.csdn.net/snippets/173595首先,要明白使用正向迭代器(iterator)进行反向遍历是错误的用法,要不干嘛要有反向迭代器呢(reverse_it
2015-12-30 11:07:03 3944 1
转载 office2007安装找不到Office.zh-cn/OfficeLR.cab问题
从网上查找了一下资料,发现这个问题常与VS2008及office2007的兼容性有关:这阵子使用office2007的过程中遇到了一些小问题,一气之下干脆重装office2007了,谁知道重装就是安装不了,总是提示“安装程序找不到 office.zh-cn/*”(例如office.zh-cn"Setup.xml),问题目录下有文件啊,为什么总是提示找不到文件呢。后来在网上发现和我一
2015-12-27 17:22:02 5381
转载 vs2008宏不能使用的问题
VS2008宏不能运行的解决办法 搜索 文件 vsmsvr.exe.config 打开这个文件在里面的runtime节点下增加
2015-12-18 17:46:35 537
原创 Windows64位API的改动,MARK
https://msdn.microsoft.com/en-us/library/aa383663(v=vs.85).aspx
2015-12-04 09:53:15 1249 1
原创 代码管理的小技巧
陈灯可重用代码管理工具可以很好的对可重用的代码进行管理,这个工具配合360云盘的文件夹同步功能能够非常方便的将本地的工具随时备份到360云盘中。
2015-09-16 14:36:37 379
原创 分享体积小巧,功能强大的网络嗅探和分析工具SnifferView 版本-1.0.0.25
SnifferView是一个体积小巧,功能强大的网络分析工具,能有效的帮助你查看和分析网络数据和排查网络问题,它的特点如下:1.体积小巧,200k左右,只有一个文件,运行和数据分析速度很快。2.支持类似著名抓包工具Wireshark的封包过滤语句,并进行了优化,更加易于使用,具体的规则可以参见过滤规则帮助文档。3.支持传输层协议Tcp,Udp,Icmp协议,应用层Http协议的分析。
2015-08-19 11:16:20 2252
原创 string的内存管理问题
string的内存管理是通过只增不减的方式进行的,string的clear方法不会真正的释放内存,如果需要真正的释放内存可以连续调用string的这两个方法,resize(0), reserve()这样就能够真正的释放掉内存了。
2015-07-15 15:22:20 838
转载 基于windbg的内存泄露分析
转自:http://www.cppblog.com/weiym/archive/2013/02/27/198109.html在前面C++中基于Crt的内存泄漏检测一文中提到的方法已经可以解决我们的大部分内存泄露问题了,但是该方法是有前提的,那就是一定要有源代码,而且还只能是Debug版本调试模式下。实际上很多时候我们的程序会用到第三方没有源代码的模块,有些情况下我们甚至怀疑系统模块有内存泄
2015-07-15 12:18:14 746
原创 Jsoncpp库的一个bug
Jsoncpp有个bug定义全局对象Value并赋值,类似下面这样,在程序退出的时候会崩溃。Value s_test;int WINAPI WinMain(HINSTANCE s, HINSTANCE p, char * cmd,int show){ s_test["aaa"] = 1;}原因是这里,在全局变量析构之前,这个静态变量已经析构了。static V
2015-06-05 15:04:25 2417
转载 vs2008远程调试
前提条件:remote host和client都在一个局域网内,且必须在一个网段remot host和client主机必须登录相同的用户,用户名必须一直关闭防火墙或打开相应的端口,一般是4015remote host和client的本地安全策略中的网络访问必须改为“经典,本地用户以自己的身份验证”,路径为控制面板->用户管理->本地安全设置->本地策略->安全选项->网络访问调试方
2015-03-12 13:40:39 319
转载 Reactor和Proactor模式
首先分享一下,我在网上看到的两篇不错的文章:正是这两篇文章才理解了reactor和proactor模式; Reactor模式,或者叫反应器模式高性能IO设计的Reactor和Proactor模式 首先就第一篇《Reactor模式,或者叫反应器模式》做一下笔记: 刚开店做生意,老板为了给顾客一个美好的印象,给顾客最好的服务,一对一: 随
2015-03-04 11:58:52 383
转载 TCP的各种状态
在TCP层,有个FLAGS字段,这个字段有以下几个标识:SYN, FIN, ACK, PSH, RST, URG.其中,对于我们日常的分析有用的就是前面的五个字段。 它们的含义是:SYN表示建立连接,FIN表示关闭连接,ACK表示响应,PSH表示有 DATA数据传输,RST表示连接重置。 其中,ACK是可能与SYN,FIN等同时使用的
2015-01-07 09:14:45 626
转载 windbg调试死锁问题
操作系统对死锁的描述如下:所谓死锁:是指两个或两个以上的进程在执行过程中,因争夺资源而造成的一种互相等待的现象,若无外力作用,它们都将无法推进下去。 那么为什么会产生死锁呢?1.因为系统资源不足。2.进程运行推进的顺序不合适。 3.资源分配不当。 而产生死锁的条件有四个:1.互斥条件:所谓互斥就是进程在某一时间内
2015-01-05 13:22:23 644
原创 一个清理VS工程的小工具
VS工程编译完之后会产生大量的临时文件,这个小程序就是清理VS工程残留文件的,能迅速清理VS的工程,如果有子文件夹递归进行清理,程序使用多线程效率很高。
2014-12-31 20:47:04 883 1
转载 wireshark过滤规则总结
1. 过滤IP,如来源IP或者目标IP等于某个IP例子:ip.src eq 192.168.1.107 or ip.dst eq 192.168.1.107或者ip.addr eq 192.168.1.107 // 都能显示来源IP和目标IP2. 过滤端口例子:tcp.port eq 80 // 不管端口是来源的还是目标的都显示tcp.port == 80
2014-12-31 11:17:36 520
转载 程序员进阶
12日发表了《写给新手程序员的一封信》,翻译自《An open letter to those who want to start programming》,我的朋友(他在本站的id是Mailper)告诉我,他希望在酷壳上看到一篇更具操作性的文章。因为他也是喜欢编程和技术的家伙,于是,我让他把他的一些学习Python和Web编程的一些点滴总结一下。于是他给我发来了一些他的心得和经历,我在把他的
2014-12-09 14:17:37 641
原创 sdk改变ListCtrl某一行的字体颜色或者背景颜色
ListCtrl的字体颜色如果直接通过SetTextColour设置的话会改变所有行的字体颜色,sdk的对话框工程想要改变ListCtrl的某一行颜色需要注意一下几点:1.在ListCtrl的父窗口响应WM_NOTIFY消息。2.处理WM_NOTIFY的NM_CUSTOMDRAW消息,处理完之后通过SetWindowLong设置对话框返回结果。3.处理完返回结果后对话框的回调函数要返回
2014-11-25 16:21:02 1430 1
原创 一个小函数,实现通配符*和?的字符串匹配。
实现通配符*和?的小程序?BOOL WINAPI FuzzyMatch(const char *src, const char *dst){ int itm = 0; int itn = 0; int tmp_a = 0; int tmp_b = 0; if (0x00 == src[0]) { return TRUE; } while(src[itm] && dst
2014-11-17 17:11:10 2802
转载 堆损坏异常调试
今天调试一个bug,用pageheap解决,在此记录一下。bug症状如下:1:不确定性崩溃,用vs调试启动每次崩溃地点都在crt分配或者释放堆的位置2:崩溃时vs看到的调用栈可能不同3:output输出HEAP: Free Heap block 388c58 modified at 388c88 after it was freed问题分析:根据vs的输出,
2014-10-22 15:18:34 4465
转载 LIBCMT.lib与msvcrtd.lib冲突的链接错误
LIBCMT.lib与msvcrtd.lib冲突的lianjiech当然,如果不把tinyxml.lib库添加进去,只是外部符号无法解析(用到外部类库的类文件,不添加当然是无法解析的啦)错误如下:1>正在链接...1>BuildEngine.obj : error LNK2019: 无法解析的外部符号 "public: bool __thiscall TiXmlDocument
2014-10-21 14:39:39 526
原创 dll中的窗体设置xp风格
项目->属性,配置属性, c/c++, 命令行,附加选项, 输入: /D ISOLATION_AWARE_ENABLED
2014-08-14 11:06:51 680
原创 c# BadImageFormatException异常
其他版本1(共 3)对本文的评价是有帮助 - 评价此主题当 DLL 或可执行程序的文件映像无效时,便会引发 BadImageFormatException 异常。相关提示如果您的应用程序使用了 32 位组件,请确保该应用程序始终采用 32 位应用程序的运行方式。如果应用程序项目的“平台目
2014-07-25 13:33:42 761
体积小巧,功能强大的网络嗅探和分析工具SnifferView 版本-1.0.0.25
2015-08-19
网络封包嗅探和分析工具SnifferView
2015-05-13
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人