VSS设置问题
好久没有用VSS了。今天重新操刀安装配置:选择一台服务器,安装VSS软件和VSS6-SP6-enu.exe补丁;共享服务器上的Program Files\Microsoft Visual Studio\Common\VSS目录--这个目录内已经有一个VSS DATA...
非MFC程序如何显示内存泄漏的代码行
在调试MFC程序时,程序退出时,如果有内存泄漏,Debug窗口会输出类似下面的信息Detected memory leaks!Dumping objects ->E:\StaticLib\MFCTest\MFCTest.cpp(255) : {63} normal block at 0x00372EA0...
STL的确很好用
STL的确很好用。以前只听过没用过。用了几次后,发现的确方便。现在会自觉不自觉地用到。边用边学吧...map::insert() 返回 pair<iterator, bool>multimap::insert() 返回 iterator...
市话跳次计算公式
跳次规则:0-3分钟(包括3分钟) 跳次为23-4分钟(包括4分钟) 跳次为34-5分钟(包括5分钟) 跳次为4以此类推。用MSSQL写的公式如下:DECLARE @dur INT; --通话时长@dur 单位为秒;case when @dur <= 120 then 2 else ceiling((@dur-120)/60.0)+1 end[@more@]
ASP脚本调试输出变量
if true then response.write(strSql)response.write("<br>")response.write( "<script language='javascript'>" )response.write( "alert('alert!')" )response.write( "</script>" )end if[@more@]
终端服务的多用户环境下 GetWindowsDirectory()的返回
问题是这样的:一个InstallShield做的安装程序,在2000/XP上能正常安装,在Windows Server 2003 Standard Edition也正常,但在Windows Server 2003 Enterprise Edition中则表现得很怪:一些共享的DLL只能被安装用户...
动态内存分配new发生访问异常
关键字: HeapAlloc 0xC0000005 Access Violation对于new/delete,CRT最终调用HeapAlloc/HeapFree来实现。最近发现一个很早以前开发的程序偶尔会出现奇怪的0xC0000005异常。用drwtsn32日志定位到以前的一个DLL中:该D...
SSEXP.EXE与MFC70.DLL
最近需要用VC6, 于是翻出一张有些年头的VC6安装光盘,却由于读写错误,无法完成安装。于是下载了“Microsoft Visual C++ 6.0 简体中文企业版”来安装,然后启动Visual SourceSafe程序SSEXP.EXE,却报错:“没有找到M...
是不是VC6的bug -- 该用short就用short,不敢乱用int了
下面的代码,DEBUG版本运行时,结果正确。可是RELEASE版本运行时,结果错误:==========================================out frame: 0inner framer: 0out frame: 1inner framer: 3 <== 结果应该是1,不是3!out fra...
UNICODE程序的好处
支持UNICODE的中文WINDOWS程序 在安装了中文字符集的英文操作系统下,即使“区域和语言选项”的“非Unicode的程序的语言”选项没有选择中文,程序运行时也能正确地显示中文。 使用VC++ 6.0编写UNICODE程序需要:为工程添加UNICODE和_UNICODE预处理选项;设置wWinMainCRTStartup入口点;对字符串使用_T()宏;用_t 等等开头的运行库函数。[@more@]
VC如何远程调试dll
找到合适的EXE去调试DLL。步骤:1)关于DLL:编译时要加入调试信息;2)DLL文件的位置:在本地保存DLL(和附属的调试信息文件 if any);在远程上一定要存在相同版本的DLL(和附属的调试信息文件 if any);3)设置EXE工程...
关于TCP网络连接的短连接和长连接
有一个JAVA系统,系统的几个进程间有大量的数据传送,基于的是TCP连接。这个系统在小压力的情况下工作正常,但是处理能力一直上不去。最近对这个系统进行压力测试,在进程间发送数据时出现exception : Address alrea...
Stack overflow与VC stack size参数/stack:
用VC6编译的一个测试程序,一行代码是分配一个静态局部变量const int N = 20000000;bitset<N + 1> b;但程序运行出错,直接运行提示unknown software exception(0xc00000fd) -- 其实是stack overflow异常;调试提示St...
VA6访问局域网获得许可的问题
VA6会在启动时访问局域网获得许可信息。在WIN XP上,可以在启动VC6前,临时禁止MSDEV.EXE访问网络;启动后,再允许其访问网络。做成一个batch如下:netsh firewall set allow "C:\Program Files\Microsoft V...
drwtsn32抓不到程序出错信息?!
VC开发的程序出错退出了,但drwtsn32没有抓到程序出错信息,只能根据系统日志中的一个错误地址 0x0002b790 去确定源代码出错行--累个半死,连猜带蒙,还算不错,找到了。后来意识到了drwtsn32抓不到程序出错信息的原因:程序以特殊的SYSTEM身份运行,drwtsn32将这个进程的错误信息保存到Default User目录里了![@more@]因为在Release版本build时选择了生成调试信息,因此drwtsn32很准确地定位到了出错的方法名,与手工定位的结果一样。
MFC的多继承问题
这几天用几个基础类改写一个C++程序,为了偷懒,使用了继承。本来有这个类 CChildThread : public CWinThread现在加了个基类CChildThread : public CLIHelper, public CWinThread。当时加的时候,犹豫了一下,还是顺...
SVN repository 版本库布局的创建方法
典型的顶级布局为:a trunk directory to hold the "main line" of development, a branches directory to contain branch copies, and a tags directory to contain tag copies创建方式:要么用repo-browser to cre...
WIN32 SDK补课:重新认识窗口过程和消息循环
问题的提出:纯WIN32 SDK编码下,有些地方要用到窗口收发消息。为了创建一个窗口,需要提供窗口过程、注册窗口类,然后才能创建窗口并编写消息循环的驱动代码。不想把代码搞复杂,于是经常省略窗口过程,直接使用系统已有的"STATIC"窗口类创建窗口,然后写一个简单的 GetMessage() 循环来获取窗口消息。可是发现循环代码中无论如何也不能得到WM_CREATE等等消息!原因: WM_CREATE WM_CLOSE WM_DESTROY WM_NCDESTROY 这些消息必须用 GetMessage() 消息驱动代码 配合 窗口过程 才能得到处理!当 GetMessage() 等待消息时,如果有
OCX 传出字符串问题-不用传入-用什么参数类型呢
Q: OCX 传出字符串问题--用什么参数类型呢?A: 用 BSTR*OCX IDL定义[id(17)] boolean QueryURInfo(BSTR* fileURI);OCX代码(VC6自动生成的框架)BOOL CVLRClientCtrl::QueryURInfo(BSTR FAR* fileURI) {USES_CONVERSI...
两个古董级压力测试工具 leakyapp.exe 和 cpustre.exe
两个古董级压力测试工具 leakyapp.exe 和 cpustre.exe,应该是在NT的 Windows Resource Kit Tools里面--连2000的里面都没有。Leakyapp.exe This GUI tool appropriates system memory to test how other applications or the system as a whole runs in low-memory situations. LeakyApp allocates all available memory to its own process and retains the memory until it is stopped or reset. When the tool stops, the memory it has allocated is released. LeakyApp shows how the system responds to a process that is alloca