原创
文章平均质量分 69
sail0323
这个作者很懒,什么都没留下…
展开
-
【windbg】调用栈分析
一些心得和说明windbg 还不熟,如有错误,请指正。 调用栈鼓捣了好久,一直没整明白。每次都打算弄明白,结果还是...(泪目啊)。今天,不慌不忙的,把windbg的打印信息都copy出来,再把 ebp、esp、eip都挑出来,看它们的地址变化,然后再,整个表格,看他们是怎么跳转的... 再参考下 对于ESP、EBP寄存器的理解,慢慢的就有头绪了,所以,一定要有耐心,心细梳理。图 01创建MFC程序创建MFC程序,使用以下代码。(参考:对于ESP、EBP寄存器的理解)int FunA原创 2021-04-14 22:10:37 · 903 阅读 · 0 评论 -
LeakDiag检测内存泄漏 の文件分析
1. 设置LeakDiagLeakDiag和LDGrapher下载地址:https://blog.csdn.net/xl19900502/article/details/115100734?spm=1001.2014.3001.5502LeakDiag菜单栏:Tools --> Options有pdb,并且设置Resolve symbols when logging的好处是,日志文件中,会指名是哪个函数泄漏了内存。2. 启动MemLeak3. 监视MemLeak..原创 2021-03-25 20:29:36 · 1473 阅读 · 0 评论 -
LeakDiag检测内存泄漏 の创建工程
1. 创建MFC GUI工程1.1 创建MFC工程创建MFC工程,命名为MemLeak;(创建过程略)创建MemLeak后,再创建一个DLL供MemLeak调用;1.2 创建DLL1.3 设置依赖项VC菜单栏:"Project" --> "Project dependencies..." ;设置为MemLeak依赖BadGuy;1.4 DLL输出函数及文件输出函数:供MemLeak调用;输出文件:共Me...原创 2021-03-25 20:21:18 · 252 阅读 · 0 评论 -
Windows常用工具
Win工具:ProcessMonitor、VMMap、Procdump、Debuggers_windbg、leakdiag下载地址:http://ftpmirror.your.org/pub/misc/ftp.microsoft.com/PSS/Tools/Developer%20Support%20Tools/https://docs.microsoft.com/zh-cn/sysinternals/downloads/process-utilities也可以百度网盘取..原创 2021-03-22 21:46:04 · 848 阅读 · 0 评论 -
【electron】electron-builder-start 拦截window.open,实现自定义窗口
【练习代码git】:https://github.com/SmileEricXin/electronPractice.gitdev分支 提交:fea:拦截window.open, 自定义窗口【说明】: 为了引入VUE,使用了electron-forge,使得 electron-webpack跑起来会报错,因为我的目的是学习各个功能,还不是系统性的,所以暂时不理会这...原创 2019-12-11 11:27:19 · 2119 阅读 · 1 评论 -
【electron】electron-builder-start 引入VUE(非前端式)
【练习代码git】:https://github.com/SmileEricXin/electronPractice.gitdev分支 提交:fea:引入VUE(非前端式引入)【说明】: 1.因为是通过electron-forge引入,使得electron-build相关指令运行时都会报错,因此只能在调试时使用 yarn start,其他指令都会运行失败; 2...原创 2019-12-09 13:41:59 · 456 阅读 · 0 评论 -
【electron】electron-builder-start 引入VUE
【练习代码git】:https://github.com/SmileEricXin/electronPractice.githtml 做以下修改:<html> <head> <script src="https://cdn.staticfile.org/vue/2.2.2/vue.min.js"></script> ...原创 2019-11-26 20:16:33 · 175 阅读 · 0 评论 -
【electron】electron-builder-start 熟悉package.json的build配置
【目的】:追寻js的去处,为js加密做准备。【练习代码git】:https://github.com/SmileEricXin/electronPractice.git dev分支// package.json 的build配置"build": { "productName": "electron-builder-start", "appId": "org....原创 2019-11-26 17:04:37 · 1719 阅读 · 0 评论 -
【electron】electron-builder-start 调试main进程
【练习代码】代码git地址:https://github.com/SmileEricXin/electronPractice.git拉debug_main分支【步骤一】 点击vscode调试设置按钮,点击此按钮会弹出launch.json文件供编辑,此文件保存在.vscode文件夹下。 【步骤二】 将launch.json内容设置为:{ ...原创 2019-11-25 21:44:19 · 625 阅读 · 0 评论 -
【electron】electron-builder-start 实现系统托盘(tray)
练习代码git:https://github.com/SmileEricXin/electronPractice.git//src\main\index.js 做以下修改// 新增调用import * as tray from './tray'// create main BrowserWindow when electron is ready// 修改ready事件app.o...原创 2019-11-25 20:13:21 · 588 阅读 · 0 评论 -
【electron】electron-builder-start 加入自己的html
最简单的electron程序莫过于:https://github.com/electron/electron-quick-start.git但是该程序缺乏打包过程,因此借助 electron-builder-start 来熟悉更佳:https://github.com/QDMarkMan/electron-builder-start.git练习代码地址:https://github.com...原创 2019-11-22 09:23:21 · 553 阅读 · 0 评论 -
[MFC9.0 Ribbon Fluent] 基于VS demo(MSMoneyDemo)的改造过程中遇到的问题记录
先简单介绍 MSMoneyDemo 的组成部分,如下图:我去掉了 MenuBar | ToolBar, 保留了 CaptionBar | CategoryBar | LinkBar, 同时 CategoryBar | LinkBar 没有用 BITMAP 绘制,而是重载 Ondraw 自己绘制。下面简单介绍开发过程中遇到的问题。Q1:把 m_wndMenuBar 删掉后原创 2015-11-05 21:01:50 · 1050 阅读 · 0 评论 -
《C++ Template 中文版》第140页测试
//头文件#include using namespace std;template class Safe{};template class Danger{public: char Block[N];};template class Tricky{public: Tricky(){ cout << "Tricky" << endl; } virtual原创 2014-12-03 23:25:57 · 879 阅读 · 0 评论 -
【C++11】博客推荐
胡健的C++11系列博文原创 2014-10-18 14:26:09 · 611 阅读 · 0 评论 -
程序员修炼之道-从小工到专家
1、避开“破窗理论”熵(Entropy),原本是一个物理学术语,软件行业却借用这个词来描述软件源代码混乱状态。知名的“破窗理论”告诉我们,如果某地区的建筑老旧、窗口破裂,却不马上去休整,该地区就会被加速破坏。“反正这个地方都这样了,每人在乎。我多打破一个窗户,多砸烂一个路牌又如何?”居民是这样的心理,程序员也是这样的心理。不能让本位主义思想占据,不好的决策,不好的架构,不好的代码都是破原创 2014-10-28 22:57:04 · 822 阅读 · 0 评论 -
windows 托盘
//部分自动生成的代码都删了,保留主要函数// TrayDlg.cpp : 实现文件//#include "stdafx.h"#include "Tray.h"#include "TrayDlg.h"#include "afxdialogex.h"#ifdef _DEBUG#define new DEBUG_NEW#endif// CTrayDlg 对话框CTrayD原创 2014-11-13 00:19:14 · 704 阅读 · 0 评论 -
软件设计经验(一)
只要说到软件设计,就心虚,一是原创 2014-10-24 00:28:38 · 703 阅读 · 0 评论 -
应用程序的参数传递
建立两个MFC Dialog应用程序,分别为原创 2014-08-03 13:18:45 · 816 阅读 · 0 评论 -
C++ 调用 delphi dll
说明:delphi 导出请加stdcall---------------------- Delphi --------------------------library DepDll;{ Important note about DLL memory management: ShareMem must be the first unit in your library's USES cla...原创 2018-03-07 18:03:48 · 3404 阅读 · 0 评论 -
剪贴板应用
//设置剪贴板数据void CClipBoardDlg::OnBnClickedSet(){ // TODO: 在此添加控件通知处理程序代码 CString strInput; GetDlgItem(IDC_INPUT)->GetWindowText(strInput); if(strInput.IsEmpty()) { MessageBox(_T("输入数据不能为空!"));原创 2014-08-05 23:24:09 · 611 阅读 · 0 评论 -
WIN7 64位 没有ACCESS驱动的问题
双击打开 C:\Windows\SysWOW64\odbcad32.exe 就能看到了原创 2015-11-12 17:18:36 · 2632 阅读 · 0 评论 -
【xpdf】ms_make.bat 在windows下的编译问题
问题1:提示cl不是有效的指令参考解决方法:将cl.exe方到C:\Windows\System32路径下问题2:提示无法打开 *.h 文件参考解决方法:用everything查到该文件路径,然后添加到ms_make.bat文件中。好像添加到环境变量中去也可以问题3:提示无法打开*.lib文件参考解决方法:将该lib路径添加到环境变量中原创 2015-12-19 23:18:13 · 1022 阅读 · 0 评论 -
【MFC】https post 出现证书无效问题
做项目时,https post 请求服务,但服务器没有证书,调用微软 CInternetSession \ CInternetConnection \ CInternetFile 这些类,然后设置 SECURITY_FLAG_IGNORE_UNKNOWN_CA 等参数(可参考:http://blog.csdn.net/xl19900502/article/details/5015414原创 2015-12-02 23:07:53 · 3158 阅读 · 0 评论 -
EnumWindows
函数原型:BOOL EnumWindows(WNDENUMPROC lpEnumFunc,LPARAM lParam);函数作用:原创 2014-04-15 00:17:08 · 1706 阅读 · 0 评论 -
url自定义协议
在浏览器上通过网页运行本地的APP,可以通过自定义url协议实现。主要有两个步骤:在注册表注册表项,将相关key的值指向需要运行的app路径 html页面里建立按钮,按钮关联该协议 示例代码如下:1. 注册表reg文件内容:Windows Registry Editor Version 5.00[HKEY_CLASSES_ROOT\dragon]@="dragon"...原创 2019-02-23 11:27:50 · 1893 阅读 · 0 评论 -
cef示例代码cefclient编译
1. 下载cef源码:cef_binary_3.3396.1782.gc368dbf_windows32.tar.bz2下载地址:http://opensource.spotify.com/cefbuilds/index.html 2.解压该压缩包,阅读该包根目录的CMakeLists.txt该txt主要是介绍如何生成相应平台的工程文件主要内容有:2.1 cmake版本要求...原创 2019-02-23 10:58:38 · 2251 阅读 · 0 评论 -
Windows 安装 pyltp
方法一: 1. 安装 anaconda,使用 pip install pyltp。 如果使用此方法安装成功,下面的就不用看了。方法二: 1. github 找 pyltp 的源码: https://github.com/WillSin/pyltp 或 https://github.com/HIT-SCIR/pyltp,阅读其README.md 2. 在 README.md...原创 2018-05-27 10:54:50 · 3682 阅读 · 0 评论 -
利用 Python 安装 pip
1. 确保已安装python2. 进入 https://bootstrap.pypa.io/get-pip.py 把代码load下来,存为 get-pip.py3. 打开控制台,cd 到get-pip.py的目录4. 输入python get-pip.py 即可原创 2018-05-18 15:04:57 · 167 阅读 · 0 评论 -
多个线程等待Event的激活测试
问题:多个线程等待一个Event时,谁能获得激活信号?测试结论: 1. 当时间设为人工Reset时,所有线程都能获得Event信号。(因为的测试的线程数量较少,可能在调用“人工”ResetEvent时,所有线程已获得信号,如果线程数量较多时,可能只有一部分才获得到.) 2. 设为自动Reset时,只有一个线程可以获得信号。 #define EVENT_NAME _T("TEST_...原创 2018-03-10 21:45:46 · 610 阅读 · 0 评论 -
Delphi 调用C dll
【C函数声明】: C dll 导出函数定义,dll名称为TestLink.dll:extern "C" int __stdcall TestLinkData(const char* pData, char* pOut, int nLen);【Delphi 调用代码】: function TestLinkData(pIn:pChar; pOut:pChar; nLen:Integer...原创 2018-03-07 17:10:21 · 1360 阅读 · 0 评论 -
2016年初偶然有感
今天偶然在公司看到两份简历,两人都工作十年了。女,某学院专科毕业,后来在深圳某大学修了工程硕士(在职研究生),从事测试工作。男,广州某名牌大学毕业,从事研发和管理方面的工作。中国有句古话:以铜为镜,可以正衣冠;以古为镜,可以知兴衰;以人为镜,可以知得失。对我而言,他们两人更是具有参考价值。女生修了工程硕士,而我正在修,工程硕士的真正目的在哪?如何修才最具价值?如何在学习、工作、家庭之间平衡?原创 2016-02-03 22:44:44 · 418 阅读 · 0 评论 -
dialog 根据 edit box大小而变化
CDynamicEditBox 从 CEdit 继承,根据输入内容实时改变高度,同时tongzhi原创 2014-07-13 17:03:42 · 733 阅读 · 0 评论 -
程序员的两难抉择
//不想看我废话的请直接看后面的红色字体,希望高手能根据我的实际情况为我指点迷津。我是那种后知后觉、算是上进的人,因为缺乏规划和执行力,没有把自己的路走好。如今,我一直在反思。 2011年自动化毕业,进了深圳一家民营电子企业。应聘的是硬件工程师,到公司之后,公司却让做软件(嵌入式,C语言),那时没有太多的想法,反正在学校学过C语言,就将就着做吧!初生牛犊不怕虎的人,坚信自己做什原创 2014-07-29 00:55:52 · 2908 阅读 · 24 评论 -
【VC++】列举当前及子文件夹文件
#define LINE_TAG _T("\r\n")int g_iLevel = -1; //0: file 1:folderCString GetToken(int iFlag){ CString strToken; for(int i = 0; i < g_iLevel; i++) { strToken += _T(" "); } if(iFlag == 0)原创 2014-07-01 22:48:18 · 1222 阅读 · 0 评论 -
[VC6 MFC]静态文本框显示带下划线、彩色字体
// LineStatic.cpp : implementation file//#include "stdafx.h"#include "MFCAppVC6.h"#include "LineStatic.h"#ifdef _DEBUG#define new DEBUG_NEW#undef THIS_FILEstatic char THIS_FILE[] = __FILE__;原创 2014-04-03 00:07:57 · 3737 阅读 · 0 评论 -
把UE、notepad++等添加到右键菜单
1、“windows徽标键 + R” 打开 "运行"窗口,输入 reged原创 2014-04-19 11:31:26 · 10456 阅读 · 0 评论 -
C++程序员安装Eclipse
1、先下载Eclipse点击打开链接原创 2014-04-19 12:29:20 · 674 阅读 · 0 评论 -
[VC] ADO访问本地数据库应用
1、初始化 if(!AfxOleInit()) { AfxMessageBox(_T("COM库初始化失败!")); return FALSE; }2、导入msado15.dll(我是放在stdafx.h下)#import "msado15.dll"no_namespace rename("EOF","ADOEOF"),rename("BOF","ADOBOF") 3、变量原创 2014-03-22 22:31:11 · 951 阅读 · 0 评论 -
高质量C++编程指南要点
1、函数考察:(1)编程风格;(2)出错处理;(3)算法复杂度分析(用于提高性能)。2、试问有多少软件开发人员对正确性、健壮性、可靠性、效率、易用性、可读性(可理解性)、可扩展性、可复用性、兼容性、可移植性等质量属性了如指掌?并且能在实践中运用自如?。“高质量”可不是干活小心点就能实现的!------------- 第一章 文件结构 -------------原创 2014-04-15 23:44:54 · 721 阅读 · 0 评论 -
namespace的传递
#include "stdafx.h"#include using namespace std;namespace A{ int i = 1;}namespace B{ using namespace A; int j = i;}int _tmain(int argc, _TCHAR* argv[]){ using namespace B;//using namesp原创 2014-03-29 21:18:37 · 756 阅读 · 0 评论