想对某个函数下断点,但是记不清楚的函数具体的名字,这个时侯可以使用x命令来列举所有的符号. 命令格式为: x [选项] 模块名字!符号匹配表达式 这里的符号匹配表达式类似dos的文件名匹配表达式,可以用*号和?号做通配符.比如我想列出user32.dll里面所有的以GetWindowT开头的符号,使用命令 0:016>  x user32!GetWindowT*75f50f7b USER32!GetWindowTextA (struct HWND__ *, char *, int)75f4adc…
php在apache中一共有三种工作方式:CGI模式.FastCGI .FastCGI是什么? FastCGI是语言无关的.可伸缩架构的CGI开放扩展,其主要行 为是将CGI解释器进程保持在内存中并因此获得较高的性能.众所周知,CGI解释器的反复加载是CGI性能低下的主要原因,如果CGI解释器保持在内存中 并接受FastCGI进程管理器调度,则可以提供良好的性能.伸缩性.Fail-Over特性等等. FastCGI的官方站点在http://www.fastcgi.com 1.Web Server…
更新了win10的版本后,就启动原来的iis发布的程序 程序池就自动关闭.后来 启动网站 iis程序池自动关闭. 在为应用程序池“.NET v4.5”提供服务的工作进程“21908”中,协议“http”的侦听器通道报告了侦听器通道错误.数据字段包含错误号. 模块 DLL C:\WINDOWS\system32\inetsrv\aspnetcore.dll 未能加载.返回的数据为错误信息. 组件 {B31118B2-1F49-48E5-B6F5-BC21CAEC56FB} 的事件 Unload 的…
Linux的.a..so和.o文件 - chlele0105的专栏 - CSDN博客 https://blog.csdn.net/chlele0105/article/details/23691147 在说明Linux的.a..so和.o文件关系之前,先来看看windows下obj,lib,dll,exe的关系 https://zh.wikipedia.org/wiki/动态链接库 动态链接库(英语:Dynamic-link library,缩写为DLL)是微软公司在微软视窗操作系统中实现共享函…
不知道大家有没有这样的经历:现场实施时测试出一个bug,明明知道某个dll/exe文件只要修改一二行代码即可,但手头没有开发环境,紧急情况下,可以用reflector + reflexil 临时直接修改dll代码,然后重编译,替换原来的文件(当然:代码未混淆的情况下,这个也可以用来搞破解,这不在本文讨论之列) 步骤: 1.Relector 加载相关的dll后,启用Reflexil界面 2.找到需要修改的代码位置,然后参考下图,右击->Replace all with code 3.写新的代码 然…
总结下C++中模块(Dll)对外暴露接口的方式: (1)导出API函数的方式这种方式是Windows中调用DLL接口的最基本方式,GDI32.dll, User32.dll都是用这种方式对外暴露系统API的.这种方式的优点是导出函数没有语言限制,什么语言都能调用:缺点是这种方式是面向过程的,外部如果要支持多实例等不是很方便,另外它要求的回调函数(callback)只能是普通C函数,C++中我们通常用类静态成员函数,很不方便.当然,我们通过封装其实也可以让这种方式支持多实例,通过一个抽象句柄HCo…
Linux的.a..so和.o文件 - chlele0105的专栏 - CSDN博客 https://blog.csdn.net/chlele0105/article/details/23691147 在说明Linux的.a..so和.o文件关系之前,先来看看windows下obj,lib,dll,exe的关系 windows下obj,lib,dll,exe的关系 lib是和dll对应的.lib是静态链接库的库文件,dll是动态链接库的库文件.     所谓静态就是link的时候把里面需要的东西…
假设有一种情况,您从客户那里得到一个内存转储,需要模块(DLL.EXE.OCX等)来进一步调试..(.NET模块可用于通过反向工程查看源代码.)我们可以使用windbg目录中的clr10\sos.dll保存所有模块(在获取内存转储时由目标进程加载).有趣的是,sos.dll不仅可以提取托管模块,还可以保存所有本机/非托管模块! 先加载sos模块 然后用!sam <path> OR !SaveAllModule <path> 提取特定磁盘位置上的模块.…
一般地,获取当前模块路径都是通过调用 GetModuleFileName() 来获取的. DWORD WINAPI GetModuleFileName( __in HMODULE hModule, __out LPTSTR lpFilename, __in DWORD nSize ); 参数 hModule A handle to the loaded module whose path is being requested. If this parameter is NULL, GetModu…
小技巧 把execl.exe转换成dll1.把excel.exe复制到CProgram FilesMicrosoft Visual Studio .NET 2003SDKv1.1Bin夹中,和TlbImp.exe同目录2.在这个文件夹中写一个bat文件---------------------------TlbImp.exe EXCEL.EXEpause---------------------------3.执行bat后,在这个文件夹中就会生成Excel.dll…
0.随便说点 最近因为一些原因一直都没有更新博客,从今天开始要逐渐恢复了,也是对自己的鞭策. 1.本文目标 本文要说在有DLL 和 EXE源码的情况下调试DLL 和 EXE, 工具是VC++2010,相信很多同学都会,肯定也有很多同学不会. 自己也曾经因为不懂怎么调试DLL.ActiveX控件而在调试的时候费很多劲. 今天就来说一说一个简单的调试方法. 2.应用场景 一个DLL:add.dll, 导出了一个函数Add计算两个数的和 一个EXE:useadd.exe,使用add.dll提供导出函数…
1. 静态检查windbg 调试工具包中有一个工具symchk.exe, 选项很多, 下面一个简单的用法可以检查一个 test.exe能不能找到与它匹配的PDB: 这是成功的情形. 下面来个失败的作为对比: 2. 如果已经在windbg内部, 可以通过下面的命令检查 最后一行说 MATCH, 肯定没问题. 3. 在windbg中(在VS中不行), 如果你100%确信源代码没有任何改动, 只不过被重新编译了一下.可以通过 .symopt +40 来关闭对GUID的强行检查. 从而load一个不匹配…
程序崩溃(crash)的时候, 为了以后能够调试分析问题, 可以使用WinDBG要把当时程序内存空间数据都保存下来,生成的文件称为dump 文件. 步骤: 1) 打开WinDBG并将之Attach 到crash的程序进程 2) 输入产生dump 文件的命令 WinDBG产生dump 文件的命令是 .dump ,可以选择不同的参数来生成不同类型的dump文件. 选项(1): /m 命令行示例:.dump /m C:\dumps\myapp.dmp 注解: 缺省选项,生成标准的minidump, 转…
最近需要调用MSCOMM32.OCX控件,但是ABAP调用过程中发现无法同时发送多条记录,则需调整实现方式: a.创建DLL文件封装MSCOMM控件相关属性及方法 b.系统注册DLL文件 c.ABAP调用DLL文件相关属性及方法 这一部分内容主要是将VB类模块的创建过程记录下: 1.打开VB,创建ActiveX DLL文件 2.修改工程名为MSCommPrj 3.修改类模块名称为msCommCls 4.引用MSCOMM32.OCX组件 菜单:工程->引用->浏览 查找MSCOMM32.OCX文…
根据堆栈对应的地址查找其对应的Module ID,然后将对应的Module保存. !IP2MD 命令从托管函数中获取 MethodDesc 结构地址. !dumpmodule 1caa50 下面的命令显示有关在地址 1caa50 处的模块的信息.   !SaveModule <基址> <文件名> 将加载到内存中指定地址的图像写入指定文件.   IP2MD帮助信息 :> !help IP2MD ------------------------------------------…
一般情况下,我们需要查看一个DLL或EXE中的包含的函数或是依赖的函数之类的信息,可以使用VS自带的工具dumpbin: 可以直接在命令行下输入dumpbin就可以查看他的使用说明,如果未显示,可以先运行VS安装目录下的vcvarsall.bat来设置一下环境变量就可以了 Microsoft Windows XP [版本 5.1.2600] (C) 版权所有 1985-2001 Microsoft Corp. C:/Documents and Settings/Administrator>"…
这个错误是在我本地开发环境,不是生产环境,如果是生产环境我就挂了....开发环境也痛苦啊,重装系统的话,我估计装系统+所有软件,少说也得1天..... 错误产生:重装IIS (尼玛,IIS总有一个小毛病,安装微软IIS7的rewrite模块,每次点击空白规则,就提示您所做的修改将会丢失,要保存修改吗?无论我点取消或者确定,IIS面板就会关闭,因为之前一直用的一个第三方重写模块,没法分站点重写,现在两个站点的路径一样没法重写,谁知道那个问题谁顺带回复我一下.) 重装完了IIS以后,不管访问哪个网站…
SOS.dll 中提供的 Son of Strike 扩展 (SOS),用于调试 WinDbg 中的托管代码.在启动了调试程序并将其附加到托管进程(或加载故障转储) .load C:\Windows\Microsoft.NET\Framework\v4.0.30319\SOS.dll The call to LoadLibrary(C:\Windows\Microsoft.NET\Framework\v4.0.30319\SOS.dll) failed, Win32 error 0n193 "%…
作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! 在这里列举一些我使用Python时积累的小技巧.这些技巧是我在使用Python过程中经常使用的.之前很零碎的记在笔记本中,现在整理出来,和大家分享,也作为Python快速教程的一个补充. import模块 在Python经常使用import声明,以使用其他模块(也就是其它.py文件)中定义的对象. 1) 使用__name__ 当我们编写Python库模块的时候,我们往往运行一些测…
反编译工具 Reflector 破解版下载地址:http://pan.baidu.com/s/15UwJo 使用方法:略 反混淆工具De4Dot 开源软件 下载地址http://pan.baidu.com/s/1d4fLt 使用方法: 参见:http://www.cnblogs.com/jio92/p/de4dot.html 修改dell/exe代码工具 reflexil 下载地址 http://pan.baidu.com/s/1sjynuPn 使用方法:安装Reflector,Reflexil…
在windows里安装python一些模块时候,有时候源码安装比较困难,pip install也各种报错,这时候最喜欢用别人编译好的exe或者whl文件来安装,但是在windows的64位系统里,如果有一些安装包没怎么考虑过在64位系统上的安装,在安装时候就会找不到你自己安装的python目录.(如IDA安装时候找不到python目录就提示要不要安装其内置的python2.6) 解决法子:运行国外这个脚本,即可把你64位系统上的python目录添加至注册表里. # # script to reg…
一.dll动态链接库 1.dll 没有 main 函数 2.不能直接执行,可以注入exe中让它间接执行.只有把它编译到应用程序中才可以. 3.编写dll 函数前加上 _declspec(dllexport) void go(){} 二.lib(静态链接库) 若要使用 lib,则需要将他放在源文件那个目录下. 1.加载lib有两种方式: 配置中加入lib库 代码:      #pragma comment(lib,“a.lib”) 虽然不加头文件会自动寻找库,但最      好还是加上好一点. 2…
我们都知道同一个应用程序的多个实例之间并不会影响各自的变量,虽然他们的地址空间都是被该应用程序的映像内的物理存储器所提交,他们的数据和代码都是指向了该应用程序的映像,但是他们还是不会影响各自的变量,因为采取了copy-on-write机制,当有一个实例去修改共享的那个数据区的时候,那么操作系统会另外分配一个内存块,该内存块就是存放这个实例修改的数据,所以并不会影响其他的应用程序实例. 那么可执行文件或dll的多个实例之间怎么去共享全局数据呢?现在进入我们的主题-----共享节 什么是共享节呢?…
创建MFC应用程序时,可以规定MFC程序的工程名称,假设初始为MFCApp,则此后该应用程序的资源文件名称,继承自CWinApp的那个类,包括.def文件,.odl文件等都会以MFCApp打头. 但是,工程名称MFCApp是可以再编辑成其它名称的,设为MFCAqq.则最后生成的无论是.exe文件,还是.dll文件,或者.lib文件都是以最终的工程名为准的.…
最近的项目要添加一个 x86 编译的dll, 首先添加引用,编译,报错: 首先判断是 项目中不能添加 x86 的引用,所以把所有的项目都按照 x86 的方式编译一遍,同时对应IIS 的应用池,也修改为启用32位. 本以为可以顺利显示,但是却报错.报错的是本机开发环境,但是部署到服务器测试却能够正常显示. 根据网上的提示,查看 系统日志里的应用程序日志, 再根据此错误信息,网上搜索,终于找到了解决方法. 1. 如果报错是 rewrite.dll , 则在程序-应用和管理 中修复 对应的IIS UR…
http://bbs.ednchina.com/BLOG_ARTICLE_3031842.HTM?click_from=8800032437,9950148743,2016-01-04,EDNCOL,NEWSLETTER 需求分析:使用Allegro软件进行PCB Layout设计时,当电路图中有很多路相同的模块,使用模块复用的的操作方法,可以显著提高工作效率,同时也可以使PCB布局在整体上显得美观.下面来讲述这个方法 具体方法及说明: 1 如图,两个电路模块,它们在原理图中的电路也是一样的,对…
Lua中使用 local a = require "xxx" 的方式加载自己用C实现的DLL,DLL中有导出函数 luaopen_xxx . 调试过程中发现,luaopen_xxx 传入的 L 是有值的,但是使用 lua_gettop 拿到的是 -1,其他的操作都会出现崩溃. 一番调试和查阅文档后发现,DLL中使用的 Lua.dll 并非执行脚本的 Lua.dll,这样两者 Lua 引擎就不是同一进程(动态库)的空间了,上下文对不上,所以才引发了一系列的错误.…
命令如下: [root@localhost ~]# docker inspect --format='{{.Name}} - {{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' $(docker ps -aq) /shengc_tomcat_01 - 172.31.0.3 /shengc_mysql_01 - 172.31.0.6 /kaifa_tomcat_02 - 172.31.0.5 /kaifa_tomcat - 172.3…
解决方案,check  IIS --Client Certificate Mapping Authentication installed?…
在前面C++中基于Crt的内存泄漏检测一文中提到的方法已经可以解决我们的大部分内存泄露问题了,但是该方法是有前提的,那就是一定要有源代码,而且还只能是Debug版本调试模式下.实际上很多时候我们的程序会用到第三方没有源代码的模块,有些情况下我们甚至怀疑系统模块有内存泄露,但是有没有证据,我们该怎么办? 这时我们就要依靠无所不能的WinDbg了. WinDbg的!heap命令非常强大,结合AppVerifier可以对堆(heap)内存进行详细的跟踪和分析, 我们接下来对下面的代码进行内存泄漏的分析…