exe崩溃用windbgattach后有宝贵现场,可看程序退出线程等,千万不要清屏…
返回目录 最近怪事又开始发生了,IIS的应用程序池无做挂掉,都指向同一个矛头,async,threadPool,Task,还有一个System.NullReferenceException,所以这些都让我们感觉,我们的异步程序出现了问题,事实也是如此,我们的异步调用引用了对“上下文”的非空引用,最后导致w3wp进程死掉!通过其它前辈的分享,找到了问题产生的原因,大叔也总结一下1 async方法需要使用await等待它的结果,这样可以保证你的SynchronizationContext上下文不为空…
前言 装了大半天的ISE 14.7 结果新建工程的时候只要点击浏览文件夹,直接无响应,其实和其他_pn.exe崩溃是一样的. 解决方法 第一步:非常重要,进行文件备份,将"F:\Xilinx\12.3\ISE_DS\ISE\lib\nt64\libPortability.dll"和"F:\Xilinx\12.3\ISE_DS\ISE\lib\nt64\libPortabilityNOSH.dll"文件备份,由于之后会对这两个文件进行修改,所以为防万一还是备份资料的好…
1.如何追踪app崩溃率,如何解决线上闪退 当 iOS设备上的App应用闪退时,操作系统会生成一个crash日志,保存在设备上.crash日志上有很多有用的信息,比如每个正在执行线程的完整堆栈 跟踪信息和内存映像,这样就能够通过解析这些信息进而定位crash发生时的代码逻辑,从而找到App闪退的原因.通常来说,crash产生来源于两种问 题:违反iOS系统规则导致的crash和App代码逻辑BUG导致的crash,下面分别对他们进行分析. 违反iOS系统规则产生crash的三种类型: (1) 内…
如题,崩溃截图如下: 解决办法: 对于版本号大于29的firefox,需要在其安装目录下,删除plugin-container.exe,不然使用webdriver的quit()方法关闭浏览器时会报错. 也可以把plugin-container.exe改名为plugin-container.exe000之类的.…
返回目录 关于死锁的原因 理解该死锁的原因在于理解await 处理contexts的方式,默认的,当一个未完成的Task 被await的时候,当前的上下文将在该Task完成的时候重新获得并继续执行剩余的代码.这个context就是当前的SynchronizationContext ,除非它是空的.WEB应用程序的SynchronizationContext 有排他性,只允许一个线程运行.当await 完成的时候,它试图在它原来的代码上下文执行它剩余的部分,但是该代码上下文中已经有一个线程在了,就…
最近在学习installShelled打包.net做的软件,其中mysql数据库的静默安装脚本不会写,本人新手勿喷.在不会写脚本的方式下,偶然间看见了这个AdvinceInstaller可以吧.exe或者.msi安装文件重新打包使之成为静默安装程序,操作步骤相对比较简单,记录下防止遗忘,也希望有同好看到可以给出更好的方法,言归正传: 准备工作: (1) Advanced Installer 11.0 安装 (2) exe或者其他msi格式的安装包,此处我采用的是 测试的一个.exe安装包 实际操…
InstallShield 打包工具 1. 转载:http://blog.csdn.net/zhang_xinxiu/article/details/9099757 2. 转载:http://www.cnblogs.com/javawebsoa/archive/2013/04/05/3001632.html depends.exe http://bbs.csdn.net/topics/390858444…
每当构造函数或析构函数中出现溢出,会导致调试非常困难,而使用try/catch来处理构造中的初始化就非常重要了. 如上图,在构造函数中,我们的很多初始化动作会放在这里,但是却忽视了,一旦初始化出错了,构造函数是没有直接返回值的,因此构造函数失败导致的可能是一个无法跟踪的错误.…
面试必考 mysql5和mysql6 有什么区别 mysql-server-5.5:默认引擎改为Innodb,提高了性能和扩展性,提高实用性(中继日志自动恢复) mysql-server-5.6:InnoDB性能加强,InnoDB死锁信息可以记录到 error 日志,方便分析,MySQL5.6支持延时复制,可以让slave跟master之间控制一个时间间隔,方便特殊情况下的数据恢复. nginx用于md5加密的模块是什么 nginx_file_md5 lvs调优参数 CONFIG_IP_VS_T…
一.用户管理 现代操作系统一般属于多用户的操作系统,也就是说,同一台机器可以为多个用户建立账户,一般这些用户都是为普通用户,这些普通用户能同时登录这台计算机,计算机对这些用户分配一定的资源. 普通用户在所分配到的资源内进行各自的操作,相互之间不受影响.但是这些普通用户的权限是有限制的,且用户太多的话,管理就不便,从而引入root用户. root用户是唯一的,且拥有系统的所有权限.root用户所在的组称为root组.“组”是具有相似权限的多个用户的集合. 1.root用户相关 Linux系统的特性…
如无其它说明,本文所指Linux均表示2.6内核Linux,GCC编译器,Windows均表示Windows XP系统,Visual Studio 2005 sp1编译环境. 下面大概分几个方面进行罗列: Linux要包含 [cpp] #include <sys/socket.h>   #include <netinet/in.h>   #include <netdb.h>   #include <arpa/inet.h>  等头文件,而windows下则是…
如无其它说明,本文所指Linux均表示2.6内核Linux,GCC编译器,Windows均表示Windows XP系统,Visual Studio 2005 sp1编译环境. 下面大概分几个方面进行罗列: Linux要包含 [cpp]  #include <sys/socket.h>    #include <netinet/in.h>    #include <netdb.h>    #include <arpa/inet.h>   等头文件,而windo…
一.TCP编程的一般步骤 服务器端: 1.创建一个socket,用函数socket() 2.绑定IP地址.端口等信息到socket上,用函数bind() 3.开启监听,用函数listen() 4.接收客户端上来的连接,用函数accept() 5.收发数据,用函数send()和recv(),或者read()和write() 6.关闭网络连接 7.关闭监听 客户端: 1.创建一个socket,用函数socket() 2.设置要连接的对方IP地址和端口等属性 3.连接服务器,用函数connect()…
下载winsdksetup.exe ,双击,选择Debugging Tools for Windows安装. 64位系统抓64位进程dump,用64位windbg来分析.64位系统抓32位进程dump,用32位windbg来分析 用VS命令行执行where sos.dll 找到sos.dll路径 SOS does not support the current target architecture 这个错误的原因是用了32位的任务管理器抓的32位的dump文件. 需要用64位的任务管理器抓32…
----------------------------------------------------------------------基础----------------------------------------------------------------------------------- 0:查找linux中所有有毒的进程,并将有毒的进程杀掉? 答: 1:连接工具连接不上linux: (1):ping一下.----------------------------------…
socket相关程序从Windows移植到Linux下需要注意的: 1)头文件 Windows下winsock.h/winsock2.h Linux下sys/socket.h 错误处理:errno.h 2)初始化 Windows下需要用WSAStartup Linux下不需要 3)关闭socket Windows下closesocket(...) Linux下close(...) 4)类型 Windows下SOCKET Linux下int 如我用到的一些宏: #ifdef WIN32 typed…
一 常用dos命令d:dir:列出当前目录下的文件以及文件夹md 创建目录rd 删除目录cd 进入指定的目录cd\ 返回根目录del a.txtdel *.txt 删除所有文件exit :退出dos 命令行cls :清屏 二java 语言发展史 詹姆斯.高斯林设计IBM第一代工作站,但不受重视 后来转Sun公司 1990年与Patrick和Mike Sheridan 等人合作"绿色计划",刚开始用c语言做 但是发现很多不足,不如垃圾回收,所以又创建一个语言 后来发展一套语言叫做&quo…
1.什么是运维?什么是游戏运维? 1)运维是指大型组织已经建立好的网络软硬件的维护,就是要保证业务的上线与运作的正常, 在他运转的过程中,对他进行维护,他集合了网络.系统.数据库.开发.安全.监控于一身的技术 运维又包括很多种,有DBA运维.网站运维.虚拟化运维.监控运维.游戏运维等等 2)游戏运维又有分工,分为开发运维.应用运维(业务运维)和系统运维 开发运维:是给应用运维开发运维工具和运维平台的 应用运维:是给业务上线.维护和做故障排除的,用开发运维开发出来的工具给业务上线.维护.做故障排查…
背景:在客户现场,IIS有时会崩溃,开发环境没法重现这个bug,唯有抓取IIS的崩溃是的Dump文件分析. IIS崩溃时自动抓取Dump,需要满足下面几个条件 1.启动 Windows Error Reporting Service 服务 2.移除默认的调试器 如果你的机器装了VS开发工具,会在注册表里写入调试器地址,需要把它删除. 找到注册表删除以下2个项目HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AeDeb…
1       案例描述 作为Windows程序员,平时最担心见到的事情可能就是程序发生了崩溃(异常),这时Windows会提示该程序执行了非法操作,即将关闭.请与您的供应商联系.呵呵,这句微软的“名言”,恐怕是程序员最怕见也最常见的东西了. 在一个大型软件的测试过程中,初期出现程序崩溃似乎成了不可避免的事.其实测试中出现程序崩溃并不可怕,反而是测试的成功.作为开发的我们更需要关心的是程序中的哪个函数或哪一行导致了系统崩溃,这样才能有针对性的进行改正. 本文描述了自己总结的几种定位崩溃的办法.…
我的机器老是这样.启动起来就有这个... 那位高手能告诉我这是怎么会事.故障的原因以及解决的办法. 最佳答案 drwtsn32.exe是windows的一项磁盘检查程序,同一时候也是鸡肋程序,最好的办法是将它禁用: 关闭Dr.Watson:在"開始"-"执行"中输入"drwtsn32"命令,调出系统里的Dr.Watson ,仅仅保留"转储所有线程上下文"选项,否则一旦程序出错,硬盘会读非常久,并占用大量空间. ========…
1       案例描述 作为Windows程序员,平时最担心见到的事情可能就是程序发生了崩溃(异常),这时Windows会提示该程序执行了非法操作,即将关闭.请与您的供应商联系.呵呵,这句微软的“名言”,恐怕是程序员最怕见也最常见的东西了. 在一个大型软件的测试过程中,初期出现程序崩溃似乎成了不可避免的事.其实测试中出现程序崩溃并不可怕,反而是测试的成功.作为开发的我们更需要关心的是程序中的哪个函数或哪一行导致了系统崩溃,这样才能有针对性的进行改正. 本文描述了自己总结的几种定位崩溃的办法.…
这篇文章解释了如何使用驱动程序验证工具来分析崩溃转储文件. 使用Microsoft驱动程序验证工具 如果您曾经使用Windows的调试工具来分析崩溃转储,那么毫无疑问,您已经使用WinDbg打开了一个崩溃转储文件.WinDbg将对崩溃文件执行内部分析,并建议您从!analyze命令开始.该命令输出堆栈以及许多其他信息.执行此操作时,堆栈底部将显示转换为内核模式的线程,然后从那里开始,您向上遍历堆栈以查看是否存在罪魁祸首驱动程序.虽然这是一种可靠的调试技术,但有时崩溃转储或其中的一组将无法分析.内…
今天在浏览张队转载文章的留言时,遇到一个读者问了这样的问题,如下图所示: 首先能明确的一点是"程序崩溃退出了是不能用常规的方式dump的",因为整个进程树都已经退出.现场已经无法使用常规的方式读取到. 一般来说常规的方法是没办法读取到的,也有一些特殊的方式,比如有关部门在调查取证时,就可以通过一些工具读取到内存中的信息.当然这是一些hack手段,不在本文讨论中. 不过好消息是,虽然您无法在程序崩溃退出以后创建Dump,但是您可以在程序崩溃时自动创建Dump,这样下次遇到程序崩溃,那么就…
之前chrome常崩溃,也没有找到原因,就将就着用吧,一直用到今天,今天连续几次崩了,突然想到,难道是因为我访问的域名没有解析(能想到这个,是因为今天分配公司域名测试的时候常输错),于是就输入一个不存在的域名,果然按崩了,重启chrome,再来,按正常预想崩溃.   崩溃的时候系统弹出一个应用程序停止运行的提示调试程序的窗口,以前每次都是点强制关闭,这次就看看错误信息,发现出错是在xunyout.ll,于是就有了下面这个过程.   xunyout.dll是什么东西?第一想到的就是这个约对不是ch…
之前只知道在同步方法中调用异步(async)方法时,如果用.Result等待调用结果,会造成线程死锁(deadlock).自己也吃过这个苦头,详见等到花儿也谢了的await. 昨天一个偶然的情况,造成在同步方法中调用了async方法,并且没有使用.Result,结果造成整个ASP.NET应用程序的崩溃,见识了同步/异步水火难容的厉害. 当时的情况是这样的,发布了一个经过异步化改造的ASP.NET程序,其中有这样一个同步方法: public static void Notify(string ti…
1. 用wine直接运行exe.安装wine后有个放exe的文件夹,双击后会自动包装运行.看起来挺方便的,就怕暂用资源比较大: http://www.youtube.com/watch?v=eYISVQBBkJI http://winebottler.kronenberg.org/ (推荐) http://linfan.info/blog/2012/03/01/wine-mac/ http://wiki.winehq.org/ 2. 用mac os 终端运行mono编译后的exe:有个问题,这个…
VS 2005使用map文件查找程序崩溃原因 一般程序崩溃可以通过debug,找到程序在那一行代码崩溃了,最近编一个多线程的程序,都不知道在那发生错误,多线程并发,又不好单行调试,终于找到一个比较好的方法来找原因,通过生成map文件,由于2005取消map文件生成行号信息(vc6.0下是可以生成行号信息的,不知道microsoft怎么想的,在2005上取消了),只能定位在那个函数发生崩溃.这里可以通过生成cod文件,即机器码这一文件,具体定位在那一行崩溃. 首先配置vc2005生成map文件和c…
最近在对AppDomain编程时遇到了一个问题,卸载AppDomain后,在内存中还保留它加载的DLL的数据,所以即使卸载掉AppDomain,还是无法更新它加载的DLL.看来只有关闭整个进程来更新DLL了. -------------------------------------------------------------------------------------------------------------- 我们知道,进程是操作系统用于隔离众多正在运行的应用程序的机制.在.N…