Windbg跟踪临界区的BUG】的更多相关文章

最近跟踪了一个程序的界面卡死问题,该卡死偶尔出现,在抓到一次dump后用windbg载入分析,打印出函数调用堆栈后,一眼可以看出是临界区死锁了. 代码: 0:000:x86> kb ChildEBP RetAddr  Args to Child               0032dd0c 779ed993 00000710 00000000 00000000 ntdll_779b0000!NtWaitForSingleObject+0x15 0032dd70 779ed877 00000000…
缺陷管理平台Mantis,也做MantisBT,全称Mantis Bug Tracker. 项目在github的地址:https://github.com/mantisbt/mantisbt Mantis是一个基于PHP技术的轻量级的开源缺陷跟踪系统,以Web操作的形式提供项目管理及缺陷跟踪服务. 在功能上.实用性上足以满足中小型项目的管理及跟踪.更重要的是其开源,不需要负担任何费用. Mantis是一个缺陷跟踪系统具有多特性包括:易于安装,易于操作,基于Web,支持任何可运行PHP的平台(Wi…
使用场景: Win32程序在release模式下编译完成,发送给最终用户使用时,我们的程序有时候也会出现崩溃的情况,这个时候如果能快速定位崩溃原因或提供一些程序崩溃时的状态信息,对我们解决问题将会带来很大的帮助.一般程序崩溃时我们需要搜集的信息包括:系统信息.CPU寄存器信息.堆栈信息.调用堆栈信息.CPU和内存状态.内存当前地址等.调用堆栈是我们最常用到的. 技术方案: 目前我搜集的方法有以下三种,日志记录.dbghelp(.dmp) .SHE(Structured Exception Han…
1.測试员測试出bug,跟踪状态为支持,状态为新建,指派给产品经理. 2.产品经理鉴定确觉得bug.改动跟踪状态为bug.指派给技术经理: 3.技术经理收到bug,指派给开发者: 4.开发者收到bug,改动状态为进行中,直到解决bug提交代码,改动状态为已解决并指派给产品经理: 5.产品经理收到bug,进行验证,验证通过,指派给測试员:不通过,改动状态为新建,再指派给技术经理或者直接指派给原来的开发者,不断循环到解决为止. 6.測试员收到bug,进行验证,验证通过,关闭问题:不通过,再改动状态为…
Bugtags 是什么? Bugtags 是一款缺陷发现及管理工具. 当您的 App 集成了 Bugtags SDK 后,測试人员就可直接在 App 里所见即所得的提交 Bug. SDK 会自己主动截屏.并与设备信息.控制台日志.操作步骤等数据实时同步到 Bugtags 云端,团队成员都可在云端高效的跟踪及解决 Bug. Bugtags 的优势是什么? 1. 宿主应用里所见即所得的提交 Bug.体验流畅,方便快捷: 2. 自己主动获取 Bug 产生时的界面截图: 3. 直接在宿主应用中标签化描写…
bug定义 狭义:软件程序的漏洞或缺陷 广义:测试工程师或用户所发现和提出的软件可改进的细节(增强型.建议性)或需求文档存在差异的功能实现 职责:发现bug,提给开发,让其修改 bug类型--了解 代码(功能)错误---最常见--优先级偏高 界面优化--UI测试--优先级偏低 设计缺陷--优化建议:需求就不合理--优先级偏低 bug的等级--优先级 致命错误--blocker 常规操作引起的系统崩溃.死机.死循环.闪退 造成数据泄露的安全性问题,比如恶意攻击造成的账户私密信息泄露 涉及金钱计算-…
毕业后一直在学操作系统, 有时候觉得什么都懂了,有时候又觉得好像什么都不懂,但总体来说自认为对操作系统实现机制的了解比周围的人还是要多一些.去年曾花了几个星期的晚上时间断断续续翻译了这篇对Linux和Windows驱动架构进行比较的论文.原文在这里. Linux和Windows设备驱动架构比较 1. 概述 这篇论文中,我们将考查目前最为广泛使用的两种操作系统,即Linux和Windows系统的设备驱动架构.为每种操作系统实现设备驱动所需要的驱动组件将被展示并进行比较,同时也展示每种操作系统中执行…
在上篇文章.NET对象与Windows句柄(二):句柄分类和.NET句柄泄露的例子中,我们有一个句柄泄露的例子.例子中多次创建和Dispose了DataReceiver和DataAnalyzer对象,但由于忘记调用DataAnalyzer的Stop方法,导致产生句柄泄露.本文假定我们已经发现了泄露现象但还不知道原因,讨论如何在这种情况下分析问题. 一.发现问题 在程序运行约一个小时以后,通过任务管理器发现句柄数超过5000,线程数也超过1000.对于一段只需要并行接收和分析数据的简易代码来说,这…
转自:http://blog.csdn.net/testcs_dn/article/details/40506225 CentOS6.5下使用NetHogs监控进程网络使用情况 分类: CentOS2014-10-27 13:54 5789人阅读 评论(3) 收藏 举报   目录(?)[+]   Nethogs 是一个终端下的网络流量监控工具,它的特别之处在于可以显示每个进程的带宽占用情况,这样可以更直观获取网络使用情况.它支持 IPv4 和 IPv6 协议.支持本地网卡及 PPP 链接. 下载…
做为设计移动应用的产品经理,每天的主要工作就是在手机上不停的体验自己的产品,发现问题.优化体验.你是否经常工作在这样的尴尬场景: 发现界面问题,将问题界面截屏传到电脑,用图片标记工具将问题标记出来,然后提交到内部的工作平台上指给技术同学,整个过程也许需要 5 分钟: 发现逻辑 Bug (数据错误.闪退),直接跑到技术同学那告诉他遇到的 Bug,或将 Bug 在工作平台上描述一下指给技术同学,不过往往得到很心塞的回复,技术同学告知说在他那是好的. 以上两个场景是不是很尴尬?我们还需要继续在这么尴尬…
Nethogs 是一个终端下的网络流量监控工具,它的特别之处在于能够显示每一个进程的带宽占用情况,这样能够更直观获取网络使用情况.它支持 IPv4 和 IPv6 协议.支持本地网卡及 PPP 链接. 下载: 从SourceForge上下载nethogs-0.8.0.tar.gz 使用wget下载: wget http://sourceforge.net/projects/nethogs/files/nethogs/0.8/nethogs-0.8.0.tar.gz/download 安装: 安装之…
已转至新的博客 http://www.raysoftware点击打开链接.cn/?p=49 项目中用到一个功能,Win7下超级管理员创建普通权限任务. 试了几种办法,例如获取资源管理器的Token,然后以这个Token用CreateProcessWithTokenW创建任务.这样做是可以的. 但是如果当前没有资源管理器或者其他普通权限的任务怎么办?CreateToken自己构造一个Token也可以,但是那些参数看了就头大. 试了一下以超级用户方式启动任务管理器用菜单中的运行,居然是默认创建普通权…
看下面的一个问题: class Person { private: string name; public: Person(const string& s=""){ name=s;} string getName(){ return this->name;} virtual void print(){ cout<<name<<endl;} }; class Student:public Person { private: int age; publ…
CVE-2014-1767 漏洞分析 1. 简介 该漏洞是由于Windows的afd.sys驱动在对系统内存的管理操作中,存在着悬垂指针的问题.在特定情况下攻击者可以通过该悬垂指针造成内存的double free漏洞. 实现对漏洞的有效利用,攻击者利用成功可导致权限提升.afd.sys是内核用来管理socket的模块. 影响的系统包括(32bit & 64 bit):  Windows Server 2003 Windows Vista Windows Server 2008 Windows 7…
应用程序对设备的同步异步操作: 大部分IRP都是由应用程序的Win32 API函数发起的.这些Win32 API本身就支持同步和异步操作.例如,ReadFile.WriteFile和DeviceIoControl等,它们都有异步和同步两种操作方式.DeviceIoControl的同步操作如图所示:…
缓冲区方式读写操作 设置缓冲区读写方式:…
内核模式下字符串操作 ANSI_STRING和UNICODE_STRING分别定义如下:…
1.得到源代码:http://valgrind.org/->source code 下载最新版的valgrind得到:valgrind-3.2.3.tar.bz2 2.解压安装包:tar -jxvf valgrind-3.2.3 3.解压后生成目录valgrind-3.2.3 4.cd valgrind-3.2.3 5.  ./configure 6.make 7.sudo make install valgrind三大利器: 1.内存错误检测器 2.时间剖析器 3.空间剖析器 3. 在Memc…
最近实现了github以及内部的gitbucket与redmine的同步. redmine是内部使用的一套工单系统,用于跟踪bug和需求,由于最近同时开发的版本比较多,在不同分支的提交容易漏掉.现在改为用redmine的工单跟踪需求和bug修复,提交的时候,只要在提交日志里写上单号,机器人就可以将提交信息同步到表单,可以方便的跟踪到提交有没有漏提交到指定分支. 实现上居然很简单,整个过程还是很愉悦的.gitbucket方面比较简单,gitbucket的仓库属主可以添加一个hook,每次提交的时候…
Redux中间件,其实就是一个函数, 当我们发送一个action的时候,先经过它,我们就可以对action进行处理,然后再发送action到达reducer, 改变状态,这时我们就可以在中间件中,对action 和对应的state进行跟踪,有利于bug处理,还有就是利用中间件进行异步处理.中间件的由来在Redux官网上已经解释的很清楚了,我们这里只是使用它们. Redux 中间件的样式如下: const logger = store => next => action => { // 这…
做技术的一定知道缺陷跟踪系统(bug系统),更不用说做测试的了,不过普遍都认为这系统是用来记录bug的,其实在google内部,这套系统是产品/项目围绕的核心.Google Buganizer扩展了类型,包含的不仅仅是缺陷,还有功能需求.流程.客户问题等,今天就来介绍下围绕这个系统是如何将产品所有人员联系在一起. 1. Bug 这个就不说了此处略过,只要是缺陷,都会登记到系统里,无法重现的bug也必须登记,对应的开发进行了修复,匹配上changelist(CL),这个CL进了哪个release,…
IDA pro 7.0版本 from:freebuf 用到的工具有IDA pro 7.0  ,被反汇编的是百度云(BaiduNetdisk_5.6.1.2.exe). 首先,IDA pro的长相如下: 共有(File , Edit , Jump , Search , View , Debugger , Options , Windows , Help)9个模块,还有下面的诸多小菜单. 现在我们点击File,选择Open打开一个文件,这里我们选择百度云盘PC端安装程序,出现如下图示: 这里我们直接…
Nethogs 是一个终端下的网络流量监控工具,它的特别之处在于可以显示每个进程的带宽占用情况,这样可以更直观获取网络使用情况.它支持 IPv4 和 IPv6 协议.支持本地网卡及 PPP 链接. 使用wget下载: wget http://sourceforge.net/projects/nethogs/files/nethogs/0.8/nethogs-0.8.0.tar.gz/download 安装: yum install  ncurses*  libpcap-dev libncurse…
23456人员介绍 XXX 测试工作 [软件] Chrome 浏览器.jsonviewer.Firefox.FireBug HTTP协议与抓包 - fildder.wireshirk等 DB查询工具 - navicat mysql.phpmyadmin git工具 IDE工具 Linux远程连接工具 - xshell,cecurecrt等 接口测试工具:Gesen(google 浏览器的插件)Gesen's Bow.postman等 JDK1.7以上 Maven3.0以上 [系统] OMS(订单…
目录 1 集成TFS系统.... 1.1 概述.... 1.2 安装TFS插件.... 1.2.1 在线安装方式.... 1.2.2 离线安装方案.... 1.3 常见操作.... 1.3.1 新建Git库.... 1.3.2 在Android Studio上克隆代码库... 1.3.3 连接VSTS. 1.4 导入代码(TFS).... 1.4.1 导入到TFS. 1.4.2 导入到VSTS. 1.5 提交修改.... 1.6 同步(推送).... 1.7 克隆代码库到本地... 2 持续集成…
centos linux系统日常管理3  服务管理ntsysv,chkconfig,系统日志rsyslog,last ,lastb ,exec,xargs,dmesg,screen,nohup,curl,ping ,telnet,traceroute ,dig ,nc,nmap,host,nethogs   第十六节课 上半节课 ntsysvchkconfig 下半节课 rsyslog/var/log/messages/var/log/secure/var/log/maillog/var/log…
修改gcc/g++默认include路径 转自:http://www.network-theory.co.uk/docs/gccintro/gccintro_23.htmlhttp://ilewen.com/questions/692 C/C++程序在linux下被编译和连接时,GCC/G++会查找系统默认的include和link的路径,以及自己在编译命令中指定的路径.自己指定的路径就不说了,这里说明一下系统自动搜索的路径. [1]include头文件路径 除了默认的/usr/include,…
我曾经于2014年10月到2016年5月工作于SAP CRM Fiori应用的开发团队, 我所在的团队负责下列这8个Fiori应用的维护和持续开发: My Opportunities My Tasks My Appointments My Leads My Notes Simulate Sales Pipeline Track Sales Pipeline 在这不到两年的开发工作里,我在使用SAP UI5的过程中遇到各种各样的问题,我都把它们一一记录了下来.还有一些问题来源于我的好奇心,比如看到…
1.什么是JIRA JIRA是目前比较流行的基于Java架构的管理系统,由于Atlassian公司对很多开源项目实行免费提供缺陷跟踪服务,因此在开源领域,其认知度比其他的产品要高得多,而且易用性也好一些.同时,开源则是其另一特色,在用户购买其软件的同时,也就将源代码也购置进来,方便做二次开发.JIRA功能全面,界面友好,安装简单,配置灵活,权限管理以及可扩展性方面都十分出色. 2.JIRA的主要功能 ● 问题追踪和管理:用它管理项目,跟踪任务.bug.需求,通过jira的邮件通知功能进行协作通知…
最近Linux redhat 6.5 APP 业务系统,向外大量发送流量,不断建立tcp连接,目标地址是美国的一个IP,估计被当成肉鸡了,比较悲惨,直接飞向IDC机房,防火墙显示这个APP服务器tcp连接很多每秒10W个, 从服务器上使用命令sar -n DEV 2 10 ,确实出现大量发包的问题,(下边是正常的,异常的情况eth0txpck/s 10000左右了) 先进行限速或者拔掉网线: 开始之前,先要清除 eth0所有队列规则 tc qdisc del dev eth0 root 2> /…