自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

一个程序员的修炼之路

踩过C++的坑,淌过Python,go的水;愿和大家一起讨论后端的开发和调试技术。

  • 博客(73)
  • 资源 (10)
  • 论坛 (40)
  • 收藏
  • 关注

原创 栈溢出场景的分析(2)

在上一篇文章<<栈溢出的场景分析和建议>>中,本人分享了如何查找程序Crash的函数调用栈,然后通过代码审查找到栈溢出的原因。但是却有一些场景通过代码审查不易找到问题,比如如下两点:函数的调用逻辑复杂,且触发逻辑依赖于输入样例。这样通过代码审查是很难看出问题所在的。当触发的栈溢出问题在非自己公司开发的第三方库中,无法获取源代码,也不易看出问题。那么针对上面这两点,都需要一个东西去做辅助分析,那就是触发栈溢出的输入内容(这的所谓输入内容不是指用户在交互界面输入,而是指触发这个

2021-05-06 22:30:37 5 1

原创 Windows内存泄露分析之DebugDialog

Windows中内存泄露的文章本人已经写过两篇<<Windows程序内存泄漏(Memory Leak)分析之UMDH>>和<<Windows程序内存泄漏(Memory Leak)分析之Windbg>>。如果有丰富调试经验的同学会发现,很难用一种工具或者方法去分析所有的场景,尤其当工程庞大的时候。本文要介绍的就是微软提供的DebugDialog, 他可以用于分析Hang,性能问题,内存泄露问题等等。对于内存泄露问题,DebugDialog分析后会给出一个完整的R

2021-05-04 13:06:31 19

原创 栈溢出的场景分析和建议

场景介绍有时候当你收到一个dump后,大多数情况可以通过k命令查找到导致栈溢出的函数。但是本文要讲的是,曾经碰到过的栈溢出(stackoverflow), 却无法直接通过k命令查看到当前的函数调用栈。 下面将介绍一个简单的方法,找到导致栈溢出的函数。样例代码先声明下,因为产品的实际分析不能够通过网络分享。下面的样例代码,实际上不会导致在上一章场景介绍中提到的问题,可以直接通过crash的栈查找到代码,本文只是通过这个例子来讲解如下场景的分析思路: 如果栈溢出了,通过k命令却无法查找到函数调用栈。#i

2021-04-15 21:22:47 17

原创 Windows程序内存泄漏(Memory Leak)分析之Windbg

之前本人写了一篇<<Windows程序内存泄漏(Memory Leak)分析之Windbg>>。这种方法有一定的局限性:实践证明,当程序复杂,内存频繁的申请释放,通过UMDH对比的文件将会非常的大,并且很难直接看出内存泄露所在。UMDH在收集信息的需要符号文件,不太适合于在客户的机器上进行操作。调试方法很难一通百用,因为不同的工具都有自己的局限性,也有适合自己的分析场景,这个取决于碰到的问题。那么本文来介绍一种,使用Windbg分析内存泄露的方法。样例代码这个样例代码中

2021-04-04 20:42:40 31

原创 从lock_guard来说一说C++中常用的RAII

常见问题在一个函数中(或者一个{...}作用域)有时候会创建/引用了一个资源,而在​这个函数结束的时候需要对这个资源进行释放。常见的场景:申请了一段内存,退出时候需要释放打开了一个文件,退出需要关闭文件统计某个函数调用的当前引用次数,进入的时候引用加一,退出的时候引用减一某个{...}作用域开始需要加锁,执行完代码后需要解锁等等…以上面的锁为例, 在进入函数的时候加锁,在函数退出的时候解锁。这种写法笔者认为可能会带来两个问题:在互斥区的代码有可能会有多处返回return, 在每个re

2021-04-01 09:26:44 20

原创 free一个合法的地址也会导致crash?

场景描述在Windows平台上使用C++开发了一个服务,其中组合了各种各样的第三方组件,一般以lib/dll和头文件的形式使用。有这样一种场景,如下图所示,应用程序申请了一段内存ptr, 但在调用lib.dll的函数接口中其调用了free(ptr)。一般来说我们也尽量避免在一个组件中申请内存,而在另一个组件中释放,这里恰巧是一个bug导致了跨组件的内存申请和释放。那么请各位读者思考一下,这样会有问题吗?如果你是一个老司机,也许已经发现,在某些情况下会在调用free(ptr)的时候导致程序crash。

2021-03-06 21:59:18 64

原创 我的程序被谁干掉了?

终端产品一般部署在客户的环境中,那么奇奇怪怪的问题也就容易出现了。比如Windows产品进程为什么忽然停止了? 这个时候稍微有些经验的程序员会做出以下判断:中型的产品中,代码比较复杂。是不是程序中有什么退出逻辑,没有注意到?是不是程序崩溃了,比如资源不足或者代码bug?是不是系统中的其他程序关闭了我们的进程?比如客户的脚本或者其他的软件。是不是程序中有什么退出逻辑,没有注意到?这种情况一般通过Debug Log 可以进行追踪。比如常见的程序退出的时候会有Log记录。是不是程序崩溃了,比如资源

2021-01-24 13:39:34 39

原创 实现一个Windows服务

你是否想过要实现一个Windows程序,可以让它在系统启动的时候自动运行?或者后台运行,不显示界面?或者希望运行的时候能够方便的指定权限?那么Windows服务可以满足你的需求。本文主要介绍如何用C++编写一个具有监测功能的Windows服务。先根据以下三点进行讲解:Windows服务是如何管理和运行的?如何实现和使用Windows服务?如何实现一个具有监测功能的Windows服务?Windows服务控制管理器Windows控制服务管理器(Service Control Manager)主要

2021-01-17 09:00:51 88

原创 你了解函数调用过程吗?

函数调用是编程语言都有的概念,也许你听说过函数调用栈,但是大家都知道函数调用是如何完成的吗?我们为什么要了解这个过程:对于程序运行机制中的数据结构和实现的了解,对自己开发程序有着启发作用碰到一些疑难杂症的时候,比如函数栈溢出了或者函数栈破坏了,如何从蛛丝马迹中寻找问题的原因。了解栈溢出可能带来的危害,黑客也许会利用栈溢出的漏洞进行攻击。这篇博文我们一起来对函数调用的过程进行探究。程序样例下面是这篇博文要用到的一个样例程序:程序在main中调用了FunAdd函数。本篇就先来研究一下:函数的

2021-01-03 09:17:48 100

原创 句柄泄露问题追踪

无论是在编写Windows程序还是Linux程序,都可能存在句柄泄露的问题。在Linux中一般来说一个进程的fd使用是有上限的,可以使用ulimit命令进行上限查看,当出现fd泄露的时候,可能会出现socket创建失败,文件打不开等问题。Windows类似,本文主要阐述了对Windows中的句柄泄露的追踪方法。Windows句柄泄露在Windows开发中,当调用Windows API,比如CreateFile, CreateEvent, CreateThread 等API的时候,都会返回一个句柄Hand

2020-12-27 10:52:00 279

原创 Windows程序内存泄漏(Memory Leak)分析之UMDH

小木发现线上的程序通过任务管理器发现内存不断的增长,怀疑是不是内存泄漏呢?用户态内存泄漏可能是句柄泄漏,堆内存泄露,Socket, GDI对象等等。而对于C++程序员来说,碰到最多的无疑是堆内存泄露:也就是通过malloc或者new从堆上申请的内存,使用完成后,并没有释放,导致程序使用的内存越来越多。小木找到了一个分析利器UMDH: 这也是Windbg工具集中的其中一个利器,它可以在一个时间点记录程序的当前程序使用的堆内存申请的信息,过一段时间后再记录一次程序使用的堆内存申请的信息,然后比较两次的结果来找

2020-12-13 14:57:31 319

原创 “操作无法完成,因为其中的文件夹或文件已在另一个程序中打开”解决方法

有时候,当我们删除某个文件夹的时候,提示操作无法完成,因为其中的文件夹或文件已在另一个程序中打开。 如下图所示:这个时候我们一般会尝试如下的操作:先看看是不是有程序正在使用这个目录下的文件,比如 Visual Studio,可是,有时候我们关闭了程序后,可还是会继续提示这样的错误或者继续删除目录下的其他文件,直到发现是哪个文件无法删除,然后再想想是不是有其他程序打开了呢?如果还是找不到/想不到呢?终极方法登出账户或者重启机器,好吧,这个是万能解决方法。不过作为一个程序员应该有更加精准的方法,

2020-12-06 13:52:54 1498 1

原创 配置PDB符号文件服务

配置PDB符号文件服务器的想法刚入职的小木,前不久刚刚解决了一次crash问题《Windbg分析程序崩溃实践》。 小木没有松懈,继续进行项目代码和Debug技术的学习,同时也思考了一个问题**“产品每隔一段时间就会发布新的版本,当出现Crash问题的时候得手动去拷贝响应版本的pdb文件到本机进行调试,有没有什么方式可以实现自动化呢?”** 嗯,小木是一个合格的程序员,程序员就是致力于让重复的工作自动化。小木继续想,如果能把产品每次发布的pdb文件存储到一个服务器,就像微软的symbol server

2020-11-21 20:05:30 125 2

原创 Windbg分析程序崩溃实践

1. 项目场景本故事纯属虚构。初入职场的小木,负责维护一个博客系统,后端采用C++编写,部署在Windows服务器上。刚刚熟悉完产品的小木,接到了后台服务的报警,服务器后端偶尔会程序崩溃。刚开始小木还有点慌张,脑子里面浮现出各种问题,这个是程序的bug吗?茫茫的代码如何寻找问题?log能看到线索吗?当冷静下来后,小木忽然想起前几天看的两篇文章<<Windbg调试----Windbg入门>>和<<Windows程序Dump收集>>,还没动手过呢,正好练习练习

2020-11-15 16:55:33 162

原创 Windbg调试----多线程控制调试

在调试程序的时候,可能经常会有这样的需求,让一个线程在特定的时候才让其开始执行或者暂停执行。比如复杂的多线程导致死锁的问题,又或者多线程中的Race Condition 导致程序执行异常等。很多时候,我们可以借助编写调试代码来达到多线程的调试,可是有些情况下调试的执行粒度是指令级别的,那么这个时候我们得借助调试利器Windbg了。本文我们将以《C/C++编程教训—-函数内静态类对象初始化非线程安全(

2017-09-03 18:29:36 2492

原创 C/C++编程教训----函数内静态类对象初始化非线程安全(C++11之前)

不少程序员在编写程序的时候,会使用函数内静态(static)变量,既能满足函数内这个变量可以持久的记录某些信息,又使其访问范围的控制局限于函数内。但函数内静态类对象初始化是非线程安全的。问题背景在我们产品中对log4cxx做了一些简单的封装 (采用VS2005编译),其中会调用到getWarn这个接口。由于这个函数存在非线程安全的问题,导致程序Crash。为了更好的描述问题,博主后面采用一个简单的例

2017-09-03 16:57:59 2364 1

原创 CPU 100%问题的查找

在对代码进行测试的时候,发现进程占用了100%的单核CPU资源。并且发现在另一个环境,这个进程占用了50%的CPU资源,因为在这个环境中是2核的CPU。而此时这个进程还并没有处理任何的数据,也就是说会有一个线程一个只占用一个CPU核的资源。对于这个问题研究的方法主要用到了两个工具:Process Explorer和Windbg。使用Process Exporer查找占用CPU资源的线程博主采用了一个

2017-05-28 09:54:58 1195

原创 C/C++编程教训----数据结构的类型别名和memset

问题描述学习微软,我们经常会这样定义数据结构, 并且定义了数据结构别名StructTest,和数据结构指针别名LPStructTest, 这样定义也许让程序的类型更加简洁。typedef _StructTest{ int iVal; char csStr[100];}StructTest, *LPStructTest;数据结构变量定义一般使用StructTest sTest这种形

2017-05-14 16:52:55 739

原创 Windows中实现不依赖账户登录的开机启动程序

在Windows中很多的任务,我们希望能够在Windows 启动之后自动运行。举个例子,公司有个订饭系统,基本每天都需要登录去订饭,于是写一个脚本实现自动订饭。可是你的电脑每天要关机,当然不希望开机后还需要手动运行这个订饭脚本了。于是此时我们要将其这种脚本实现为开机自动启动脚本。 但要注意本文要讲的开机启动的程序,是在用户还没有登录的情况下实现启动的。换句话说,本文描述的开机启动的程序运行在Ses

2017-05-12 14:23:00 18090

原创 C/C++编程教训----'=='判断条件

程序质量保证个人谈一谈项目代码质量保证主要来源于以下几个方面:程序员的经验,防御性的避免一些错误/坑。单元测试: 单元测试应该是测试中最细粒度的测试,这个测试一般来说贯穿了整个开发以及后期维护;它能够保证到每一个函数/功能的健壮性,从而提高代码的整体质量。测试自动化: 测试自动化,应该来说至少应该包括了单元测试和功能测试自动化。 在开发或者维护过程中,在修改代码后,能够迅速的使用自动化测试进行

2017-04-22 16:47:32 953

原创 Windbg无法捕获strcpy_s crash时的函数调用栈的研究

问题描述在一年前,发现产品的windows service总是崩溃,但每次用windbg attach或者adplus产生dump,总是不能捕获到程序出错时候的栈,而且crash的时候只能看到少数甚至只剩一个线程。后来用windbg单步调试终于找到的罪魁祸首,原来是出错在strcpy_s这个函数。但是为什么直接用windbg attach或者adplus没法获取第一现场呢?当程序比较简单的时候

2017-01-22 09:46:31 1202

原创 Windows程序Dump收集

发布给客户的程序,出现问题后,通过Debug Log经常很难分析出原因。比如说程序崩溃,程序死锁,内存泄漏等,这个时候从客户那里收集程序Dump,本文主要描述了几种收集dump的工具。adplus收集Dumpadplus是windows 调试工具集中的一个工具,安装了WDK或者Windbg后在安装目录都有。现在很多的OS 都是64位了,但有时候Crash的程序是32位,有时候Crash的程序是64位

2017-01-12 15:14:10 809

原创 Windbg局部变量显示不正确

Windbg中局部变量显示不正确

2016-08-17 13:25:53 1849

原创 存储型跨站脚本攻击

XSS跨站脚本攻击(Cross Site Script, XSS),是最常见的Web应用应用程序安全漏洞之一,也是OWASP 2013 Top 10之一。 XSS通常来说就是在网页中嵌入恶意代码, 通常来说是Javascript,当用户访问网页的时候,恶意脚本在浏览器上执行。存储型XSSXSS主要分为三种类型: 反射型XSS,存储型XSS和DOM型XSS。本文主要阐述的是存储型XSS,简单来说明一下

2016-08-10 22:06:18 13305 2

原创 OWASP Mutillidae的安装

OWASP Mutillidae介绍OWASP(Open Web Application Security Project)是一个开源的、非盈利性的全球性安全组织。由全球的会员共同推动安全标准、安全测试工具、安全指导手册等应用安全技术的发展。OWASP也有中国的官方网站, 在这里你也可以关注到OWASP在中国的培训与活动等相关信息。 OWASP Mutillidae 是一个开源的、免费的漏洞演习系

2016-08-08 13:51:30 6643

原创 Windbg调试----Windbg入门

Windbg简单来说就是一个Windows下对用户态/内核态的程序进行调试,以及对Core Dump文件的分析。对于Crash,资源泄露,死锁等问题的分析,Windbg是一个强有力的利器。相关资料本人也是在维护和开发产品的过程中使用过Windbg,但并未对Windbg进行过系统和深入的学习,也通过这一系列的博客来完善自己对Windbg以及周边知识的理解与使用。我也列出自己正在或者即将阅读的书/资料与

2016-08-05 13:26:41 53326 3

原创 Visual Studio的工程依赖

今天在查看Visual Studio中A工程的时候,发现在VS链接页面的Command链接了B.lib静态库,可是我找遍了配置选项,也没找到配置的地方啊!!!经过探索发现,原来是工程依赖隐含了这个条件。 也就是说工程依赖至少实现了一下两个功能:      (1) 定义了工程编译的顺序,比如A工程依赖B工程,则编译A工程的时候回去先编译B工程      (2) 隐含了静态链接Lib文件,比如

2015-10-09 16:23:11 2545

原创 从图看Linux问题分析的工具

Brendan是Joyent的首席性能分析工程师,在2013年初发了一个关于Linux性能分析和工具详解的书,或者称其为文档吧。无论在性能分析,还是在Linux中其他问题分析,也许都会用到下图所标识的工具。 比如网络分析时会用到tcpdump, traceroute, netstat等工具;I/O分析的时候会用到iostat,iotop等工具;内存分析的时候会用到free,vmstat等工具;进程

2015-09-14 14:35:33 623

原创 GDB读取动态库中定义的全局变量错误

最近看了一篇getopt使用的文章,为了追踪其执行的逻辑,于是采用GDB挂载调试的方式进行查看。但却出现了GDB打印全局变量optind的时候出现错误。问题发现和描述      首先optind是使用getopt时候的全局变量,表示使用getopt时候的下一个argv的指针索引。在应用程序调试的时候设置了多个参数,但是随着多次调用getopt,全局变量optind通过gdb打印出来的值却总

2015-09-04 13:23:03 1985

原创 Windows文件换行符转Linux换行符

前段时间,有个朋友碰到由于Windows的换行符和Linux换行符不一样,导致程序编译不通过。这个问题之前自己也碰到过,网上资料也蛮多,不过还是借此总结总结,因为发现总结+实践的方式能够让自己更好的提升。操作系统文件换行符      首先介绍下,在ASCII中存在这样两个字符CR(编码为13)和 LF(编码为10),在编程中我们一般称其分别为'\r'和'\n'。他们被用来作为换行标

2015-08-21 18:06:16 22233 1

原创 程序RPC 1726错误问题的追踪

最近在客户环境中碰到了一个头疼的问题,一个节点通过RPC连接到另一个节点成功,但是在发送RPC报文的时候,却返回了1726错误。错误信息      先来看看MSDN的解释,"这个远程调用失败了",这句话信息含量真是太少了啊,出现错误我肯定知道是远程调用失败了啊。RPC_S_CALL_FAILED1726 (0x6BE)The remote procedure call failed

2015-08-21 11:08:19 1787

原创 <<程序员的自我修养>>第二章读书读书笔记----静态链接

最近搞了一个Linux爱好者的微信订阅号,以Linux平台为主,定期也会分享一些网友的博文,和技术经验。因为网络文章,不和博主沟通,没法随意转发分享,如果您方便让您的经验一起分享,请您留下博客地址~~~以下是微信的订阅号,欢迎关注和讨论:         对一个不善写作的人来说,写一篇博客着实痛苦,但还是逼着自己去写,让所学的东西加深。本篇博客将对第二章内容进行回顾,理解,当然还要加上

2015-08-03 13:20:33 955

原创 <<程序员的自我修养>>第一章读书读书笔记----从hello world说起

在读《程序员自我修养》这本书之前,是准备写读书笔记的,一来加深自己对本书的理解,而来可以和看到笔记的网友们互相讨论。当读到第三章的时候,心理暗暗偷懒,不想写博客了,要将自己的所读所理解的整理为一篇文章,确实会花费不少时间和精力,可又想了想了当初的目标和想法,还是决定写下去。 C语言Hello World程序你了解多少?第一章作者就抛出了一个问题,从一个简单的C程序的HelloWorld

2015-07-10 15:36:10 1563

原创 Loader Lock引起的一个Bug

在Windows中,让程序模块化实现的一种方式,就是让其实现为动态链接库。然后在主程序启动的时候隐式或者显示的去加载动态链接库。但是如果不恰当的编写动态链接库的DllMain函数,将会引起意想不到的Bug哦,比如典型的Loader Lock死锁问题。这不,我们产品中就碰到了一个由于Loader Lock而引起的Bug....1. 背景介绍      当主程序在启动的时候,隐式或者显

2014-10-13 15:29:34 4404 1

原创 strace命令不可信任的一种情况

在Linux中在客户环境中诊断问题的一个非常有用的命令就是strace,可以利用其查看程序执行过程中的系统调用,调用库,每一个系统调用的时间,以及接收到的信号等等,在这里就不详细阐述strace的功能了。     最近刚好遇到一个棘手的问题,在一个客户的环境中,应用程序调用系统调用ioctl与产品的内核模块交互总是失败。然后通过strace查看进程的执行过程中的ioctl系统调用是否有异常。查

2014-09-03 19:42:14 1526

原创 Redhat 6.3中syslog信息丢失

我们采用Linux的syslog来记录产品的debug log。调用其中的一个可执行文件,执行完命令之后,查看debug log的信息,居然从某一条log之后的log都丢失了。多次尝试后,发现每次都在某条固定的log之后的所有log都丢失了。这篇博文就让我们一起来探个究竟。一. 问题发现    在发现真正问题之前我做了以下尝试:    (1) 进程是否在固定log之后某种逻辑退出?或者

2014-07-10 17:19:28 9163

原创 Linux中删除文件,磁盘空间未释放问题追踪

在客户使用我们产品后,发现一个问题:在删除了文件后,磁盘空间却没有释放。是有进程在打开这个文件,还是其他情况?我们一起来看看一下两个场景一. 场景一:进程打开此文件    当一个文件正在被一个进程使用时,用户删除此文件,文件只会从目录结构中删除,但并没有从磁盘删除。当使用这个文件的进程结束后,文件才会真正的从磁盘删除,释放占有的空间。    我们发现剩余磁盘空间比较少时,回去删

2014-07-09 14:09:33 24850 3

原创 Linux Kernel 模块内存泄露查找 (2)

在之前的一篇博文<<Linux Kernel模块内存泄露的一种查找思路>>中,我介绍了一种查找内核内存泄露的一种方法。这不才几个月,又有客户埋怨:使用了产品5天左右后,Suse服务器由于内存耗尽而Crash。O My God,不会吧,在我机器上跑的好好的哇(程序员常用名言 嘿嘿)。 那么就让我们一起来看看,苦逼的博主是如何确定问题并且找到问题的....

2014-06-19 10:42:53 9157 1

原创 创建动态库时,建议使用的链接选项Bsymbolic

题外话:最近了解了一种轻量级标记语言,叫做Markdown.可以使用Markdown易读的文本格式,然后将其转换为HTML格式。虽然才知道,发现这个语法已经在无处不在了,著名的stack overflow发帖,以及一些wiki,或者一些博客都支持这种语法编辑了。OK,那么博主,这次也尝试下,本次博客采用的是MarkDownPad编辑器编写。问题描述回归正题,前段时间项目开发中,实现

2014-05-14 19:08:22 11338

原创 链接选项rpath,容易被忽略的一个功能

问题来源最近在做一个项目的客户端的SDK,实现为一个动态链接库,其依赖于其他的若干个动态库文件。那么在利用SDK开发应用程序的时候,编译的时候除了链接SDK库本身,还得链接SDK库所依赖的库,这样编译命令里面得一一的添加这些库。比如,SDK库的名称为liba.so, 其依赖于libb.so和libc.so,那么在编译应用程序的时候使用以下命令:+++++++++++++++++++++

2014-05-07 18:28:19 17146 1

IP、DNS、MAC修改器VC源码

在VS2005环境下进行开发,能够对IP、MAC、DNS信息进行展示与修改,里面的不足之处还望一起讨论研究。

2012-06-15

九种常用排序的实现和测试源码

本文件主要实现了九种常用的排序,分别为:冒泡排序、选择排序、插入排序、自底向上的归并排序、自顶向下的归并排序、快速排序、堆排序、基数排序、希尔排序,希望对初学者有所帮助,也欢迎讨论。

2012-09-13

碰撞的小球 MFC

采用VS2005 MFC 进行开发,模拟小球的控制,来躲避其他的运动的小球。

2012-06-09

pop3客户端,socket编写

亲手编写,存在不足,但框架以及普通邮件能够接受成功。

2011-04-28

程序员面霸手册

该资源和程序员面试宝典类似,但是风格不同,可以配合面试宝典一起学习,祝大家找个好工作。

2012-05-18

Hadoop开发者入门专刊

方便Hadoop新手搭建Hadoop平台以及对Hadoop平台有个大概的了解,文中提到在Win下安装和Linux下安装。

2012-05-16

linux0.01源代码

学习linux,必须要有钻研精神,在linux的世界里,没有封闭,只有自由。

2009-11-30

Wirshar1.4.6开发环境搭建(win32)

对wireshark的编译,以及调试的配置(vs 2005)

2011-04-29

图书管理系统Vb版本

Vb版本的图书管理系统,由于本人写时间较长,里面数据库配置可能需要自己手动改下代码。

2012-05-18

程序员面试宝典(三)

适合本科、硕士毕业找工作,包括数据结构、操作系统、c/C++基础等内容。

2012-05-18

关于全局变量重定义的问题

发表于 2011-03-22 最后回复 2018-12-06

关于博客隐藏功能

发表于 2015-03-12 最后回复 2015-03-18

已经发表的文章变成“待审核”

发表于 2014-06-19 最后回复 2015-01-06

博客专栏审核

发表于 2014-11-11 最后回复 2014-11-11

关于vector使用编译的一个问题

发表于 2012-09-05 最后回复 2012-09-17

关于MS SQL Server恢复的问题

发表于 2012-08-31 最后回复 2012-09-01

关于句柄和内存指针的不理解

发表于 2012-07-06 最后回复 2012-07-06

关于MFC和c++标准库

发表于 2010-10-23 最后回复 2012-05-30

关于静态库的问题

发表于 2012-05-24 最后回复 2012-05-24

关于在MFC Static中画图问题

发表于 2012-05-22 最后回复 2012-05-23

还在为没有下载积分而苦恼吗?

发表于 2012-05-20 最后回复 2012-05-20

关于一个类类型的定义

发表于 2012-05-07 最后回复 2012-05-07

Ctrl+F5 与直接点击exe执行

发表于 2012-04-25 最后回复 2012-05-02

关于多线程访问安全性问题

发表于 2012-04-16 最后回复 2012-04-16

关于共享变量问题

发表于 2011-11-07 最后回复 2011-11-08

关于hook程序 WH_KEYBOARD_LL无用

发表于 2011-10-25 最后回复 2011-10-26

关于动态链接库的两个问题

发表于 2011-10-19 最后回复 2011-10-19

忘了一个c语言的api

发表于 2011-10-16 最后回复 2011-10-16

高人求解,关于dll函数调用问题(很奇怪,望高人求解)

发表于 2011-08-26 最后回复 2011-08-29

关于网络抓包测试

发表于 2011-08-01 最后回复 2011-08-01

关于定义与声明的问题

发表于 2011-07-03 最后回复 2011-07-03

关于无法加载动态连接库的问题(谢谢)

发表于 2011-06-28 最后回复 2011-06-28

关于vs2005编译选项的选择

发表于 2011-06-27 最后回复 2011-06-27

关于容器初始化问题(复制构造函数相关)

发表于 2011-06-05 最后回复 2011-06-05

关于NDIS驱动接口规范

发表于 2011-05-09 最后回复 2011-06-05

关于vs2005中makefile

发表于 2011-04-28 最后回复 2011-04-28

关于多播 , socket编程的两个问题

发表于 2011-04-20 最后回复 2011-04-26

关于tornado如何连接目标板

发表于 2011-01-22 最后回复 2011-03-22

有没有任务是否存活的函数

发表于 2011-02-24 最后回复 2011-03-16

一个编译的错误提示,看不懂

发表于 2011-02-19 最后回复 2011-02-26

vxworks引导

发表于 2011-01-23 最后回复 2011-01-24

UDP服务器如何设计

发表于 2010-12-18 最后回复 2010-12-20

关于udp服务器的设计

发表于 2010-11-20 最后回复 2010-12-18

c++友元函数

发表于 2010-11-24 最后回复 2010-11-24

socket编程之udp

发表于 2010-11-14 最后回复 2010-11-18

class AFX_EXT_CLASS CListenSocket

发表于 2010-10-31 最后回复 2010-10-31

vs2005的c++单元测试

发表于 2010-10-30 最后回复 2010-10-30

关于recvfrom的一个疑问

发表于 2010-10-23 最后回复 2010-10-23

简单的多线程创建问题

发表于 2010-10-23 最后回复 2010-10-23

socket中udp和tcp

发表于 2010-10-23 最后回复 2010-10-23

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人 TA的粉丝

提示
确定要删除当前文章?
取消 删除