vs2013 调试libevent 源码】的更多相关文章

自己内功的提升,无非是向前辈学习和修炼自身,对于编码也是如此,学习优秀的库只有从 源代码学起,才能深刻理解库实现的来龙去脉,加深自己的理解,提升自己的功力. 今天就介绍一下vs2013 下面调试libevent源码.不需要创建sln解决方案,只需要创建工程,包含 源码目录即可源码调试. 1.手工添加print-winsocke-errors.c文件,不然nmake编译的时候会报错. print-winsocke-errors.c源代码程序: #include <winsock2.h> #inc…
1.目前MVC源码版本为5.2.3,下回来后用VS2013打开,把System.Web.Mvc项目的版本号改为4.0.0.1 2.在解决方案下建一个MVC4项目,.NET选4.5,修改根目录以及Views下的Web.Config: 把Mvc版本改为4.0.0.1,把Razor,WebPages等改为3.0.0.0,总之,要把Web.Config涉及到: System.Web.Mvc System.Web.Razor System.Web.WebPages System.Web.WebPages.…
简述 在调试程序的时候,有时需要调试进入 Qt 源码,这不仅有利于我们了解内部实现机制,而且对于解决一些隐蔽性问题很有帮助. 都知道 F11 是“单步进入”,可是在调试的过程中,按下 F11 却无法进入.有人说需要静态编译 Qt 才可以,其实不然,只需要简单的几个配置就可以搞定. 简述 Qt 版本及安装 配置 Qt Creator 源码调试 更多参考 版权所有:一去丶二三里,转载请注明出处:http://blog.csdn.net/liang19890820 Qt 版本及安装 Qt 针对 Win…
简述 在调试程序的时候,有时需要调试进入 Qt 源码,这不仅有利于我们了解内部实现机制,而且对于解决一些隐蔽性问题很有帮助. 都知道 F11 是“单步进入”,可是在调试的过程中,按下 F11 却无法进入.有人说需要静态编译 Qt 才可以,其实不然,只需要简单的几个配置就可以搞定. 简述 Qt 版本及安装 配置 Qt Creator 源码调试 更多参考 版权所有:一去丶二三里,转载请注明出处:http://blog.csdn.net/liang19890820 Qt 版本及安装 Qt 针对 Win…
libevent源码深度剖析十二 ——让libevent支持多线程 张亮 Libevent本身不是多线程安全的,在多核的时代,如何能充分利用CPU的能力呢,这一节来说说如何在多线程环境中使用libevent,跟源代码并没有太大的关系,纯粹是使用上的技巧. 1 错误使用示例 在多核的CPU上只使用一个线程始终是对不起CPU的处理能力啊,那好吧,那就多创建几个线程,比如下面的简单服务器场景. 1 主线程创建工作线程1: 2 接着主线程监听在端口上,等待新的连接: 3 在线程1中执行event事件循环…
前段时间Cocos2d-x更新了一个Cocos引擎,这是一个集合源码,IDE,Studio这一家老小的整合包,我们可以使用这个Cocos引擎来创建我们的项目. 在Cocos2d-x被整合到Cocos引擎之前,我们可以不那么方便地在我们创建的工程里调试Cocos2d-x的代码,当我们使用了整合后的Cocos引擎,调试Cocos2d-x的代码就变得更加,非常不方便了! 使用Cocos2d-x创建的项目,在最先的版本必须是在Cocos2d-x引擎的目录下,放到其他的位置需要进行各种麻烦的设置,诸如头文…
一.前言 今天我们继续来看破解apk的相关知识,在前一篇:Eclipse动态调试smali源码破解apk 我们今天主要来看如何使用IDA来调试Android中的native源码,因为现在一些app,为了安全或者效率问题,会把一些重要的功能放到native层,那么这样一来,我们前篇说到的Eclipse调试smali源码就显得很无力了,因为核心的都在native层,Android中一般native层使用的是so库文件,所以我们这篇就来介绍如何调试so文件的内容,从而让我们破解成功率达到更高的一层.…
一.前言 今天我们开始apk破解的另外一种方式:动态代码调试破解,之前其实已经在一篇文章中说到如何破解apk了: Android中使用静态方式破解Apk  主要采用的是静态方式,步骤也很简单,首先使用apktool来反编译apk,得到smail源码,然后分析smail代码,采用代码注入技术来跟踪代码,然后找到关键方法进行修改,进而破解,同时还可以使用一些开源的hook框架,比如:Xposed和Cydia Substrate,来进行关键方法的hook.所以这里我们可以看到我们破解的第一步是使用ap…
目录 一 下载并安装VS2012 二 下载并安装WDK80 三 下载ReactOS0315源码 四 下载并安装RosBE211 五 用RosBE命令行编译ReactOS源码 六 用VS2012编译ntoskrnl模块 七 制作ReactOS安装盘 八 用VirtualBox安装ReactOS 九 建立调试环境 十 调试ReactOS源码   一. 下载并安装VS2012 我安装的是VS2012_ULT_chs.iso, 网上随便下载 二. 下载并安装WDK8.0 下载地址: http://msd…
libevent源码分析 转自:http://www.cnblogs.com/hustcat/archive/2010/08/31/1814022.html 这两天没事,看了一下Memcached和libevent的源码,做个小总结. 1.入门 1.1.概述Libevent是一个用于开发可扩展性网络服务器的基于事件驱动(event-driven)模型的网络库.Libevent有几个显著的亮点: (1)事件驱动(event-driven),高性能:(2)轻量级,专注于网络,不如 ACE 那么臃肿庞…
用vs2013编译lua源码方法 来源:网络    编辑:admin 1.下载lua源码:lua-5.2.3.tar.gz,解压 2.用vs2013建立一个win32工程: 1)下载后解压到一个目录下,这里假设解压到  F:\lua-5.2.3  注意下载的版本,如果是5.2.x,后面代码中的C API发生了改变 2)在VS2010中新建一个静态库项目,项目命名为lua   a. 选择新建 Win32 console project b. 在wizard界面选择 static Library:不…
欢迎转载,转载请注明出处,徽沪一郎. 概要 上篇博文讲述了如何通过修改源码来查看调用堆栈,尽管也很实用,但每修改一次都需要编译,花费的时间不少,效率不高,而且属于侵入性的修改,不优雅.本篇讲述如何使用intellij idea来跟踪调试spark源码. 前提 本文假设开发环境是在Linux平台,并且已经安装下列软件,我个人使用的是arch linux. jdk scala sbt intellij-idea-community-edition 安装scala插件 为idea安装scala插件,具…
摘要 介绍使用eclipse调试jdk源码 java是一门开源的程序设计语言,喜欢研究源码的java开发者总会忍不住debug一下jdk源码.虽然官方的jdk自带了源码包src.zip,然而在debug时查看变量却十分麻烦.例如调试HashMap的 public V put(K key, V value) 方法并查看key的值时会提示: 可以看到不能显示变量的值了,原因在于oracle提供的jre中rt.jar不带debug信息:orcale在编译src时使用了 javac -g:none,意思…
这个..那个..后来发现..直接用jumbo就可以安装libevent.不过,学习一些automake的知识还是有好处的. 03机器也安装了. 这几天在阅读libevent源码,发现参考资料是基于libevent-2.1的版本,所以就去官网下载了2.1的版本: http://libevent.org/ (其实是在git下载的:https://github.com/libevent/libevent),版本应该是libevent-2.1.so.5.0.0 下载下来,发现目录里面没有常见的confi…
[原创文章,转载请保留或注明出处,http://download.csdn.net/download/bigmaxim/5474055] 1. 相关软件 adt-bundle-windows-x86.zip --- Eclipse集成ADT插件,需要联网安装相应的Android SDK. jdk-6u43-windows-i586.exe --- JDK6 Eclipse运行需要JAVA环境,编译ANDROID应用也需要JAVA编译器. android-ndk-r8e-windows-x86.z…
pg内核源码解析课上用的vs调试pg源码, VS用起来确实方便,但是配置调试环境着实有点麻烦.首先得装个windows系统,最好是xp,win7稍微麻烦点:最好使用vs05,08和10也可以,但是比05还麻烦:此外还得装个perl,最好再装上cygwin以及其他一大堆linux上原生的东西.然后才能生成vs的工程,生成工程保不准会遇上一些参数配置问题.关键是pg很多都是跑在linux上的啊,在windows上有些与系统调用有关的代码执行和linux上是不一样,比如创建进程.如果不关心这些系统调用…
微软走向开源,是时候用vs去单步调试进入源码了.参考地址:http://blog.csdn.net/waxgourd0/article/details/6600182 可供参考的文章:https://msdn.microsoft.com/en-us/library/Cc667410.aspx 1.工具- 选型 – 调试 - 常规,按照下图修改我框起来的地方: 2.工具- 选项 – 调试 - 符号,按照下图进行配置: 这里注意你只需要在位置里添加http://referencesource.mic…
Libevent源码分析 (1) hello-world ⑨月份接触了久闻大名的libevent,当时想读读源码,可是由于事情比较多一直没有时间,现在手头的东西基本告一段落了,我准备读读libevent的源码,凡是我觉得有必要的内容均一一记录,与君共勉. 首先要说说什么是libevent: libevent是一个事件通知库,libevent API提供一种机制使得我们可以在一个文件描述符(file descriptor)发生特定事件时或者timeout发生时执行指定的回调函数.libevent意…
最近要看struts2源码 仿照了一下查看jdk源码的方式 首先你要有strtus2的jar包和源码,在struts官网上下载时,选择full版本,里面会有src也就是源码了. jar导入项目,保证可以引用.然后要把struts2目录下的src打包成zip.在项目上右键,build path. 选择红框中的,然后找之前打包的src.zip,添加进来,再查看源码即可. ///////////////////////////////////一下为原文内容 1如何debug调试jdk源码 无法进入源码…
title: libevent源码阅读笔记(一):libevent对epoll的封装 最近开始阅读网络库libevent的源码,阅读源码之前,大致看了张亮写的几篇博文(libevent源码深度剖析 http://blog.csdn.net/sparkliang/article/details/4957667 ),对libevent网络库有了总体上的认识,然后开始源码的阅读. 与整体把握不同,我是先从局部开始阅读libevent的源码,当然,前提是我已经大致了解了整个libevent的框架结构,今…
目录 问题描述 解决思路 在IntelliJ IDEA中调试JDK源码 在eclipse中调试JDK源码 总结 问题描述 最近在研究MyBatis的缓存机制,需要回顾一下HashMap的实现原理.于是在IntelliJ IDEA中单步跟踪调试HashMap的put(K key, V value)方法,不曾想执行到断点处时,单步调试(Step Into)无法进入到HashMap的put(K key, V value)方法内部,而是直接跳过了,效果跟Step Over是一样的. 已经确认不是快捷键冲…
环境: Google Chrome  V72.0.3626.109 vue-dev V 2.6.10 爬坑的乐趣就不说了(我恨啊),以下说一下出坑要点 1. 在vue-dev的package.json文件如下位置加 --sourcemap, 用于生成.map文件 "scripts": { "dev": "rollup -w -c scripts/config.js --environment TARGET:web-full-dev --sourcemap&…
对有有经验的程序员,使用echo.print_r().print_f().var_dump()等函数足以调试php代码,如果需要在IDE工具中使用断点调试,xdebug就是一个非常好的php调试工具.对于不熟悉的代码,可以用Xdebug一步一步的查看请求过程和代码执行过程. 准备工作本地部署的server环境,推荐用phpStudy(内置xdebug),开启php扩展就可以了,不用单独下载xdebug.(下载与php版本对应的xdebug:http://www.xdebug.org) 配置以下三…
怎么快速学习开源库比如libevent? libevent分析 - sparkliang的专栏 - 博客频道 - CSDN.NET Libevent源码分析 - luotuo44的专栏 - 博客频道 - CSDN.NET 专栏:Libevent源码分析 wangafu.net/~nickm/libevent-book/ 是最快的…
libevent 源码深度剖析十三 —— libevent 信号处理注意点 前面讲到了 libevent 实现多线程的方法,然而在多线程的环境中注册信号事件,还是有一些情况需要小心处理,那就是不能在多个 libevent 实例上注册信号事件.依然冠名追加到 libevent 系列. 以 2 个线程为例,做简单的场景分析. 1 首先是创建并初始化线程 1 的 libevent 实例 base1 ,线程 1 的 libevent 实例 base2 : 2 在 base1 上注册 SIGALRM 信号…
libevent源码深度剖析十一 ——时间管理 张亮 为了支持定时器,Libevent必须和系统时间打交道,这一部分的内容也比较简单,主要涉及到时间的加减辅助函数.时间缓存.时间校正和定时器堆的时间值调整等.下面就结合源代码来分析一下. 1 初始化检测 Libevent在初始化时会检测系统时间的类型,通过调用函数detect_monotonic()完成,它通过调用clock_gettime()来检测系统是否支持monotonic时钟类型: static void detect_monotonic…
libevent源码深度剖析十 ——支持I/O多路复用技术 张亮 Libevent的核心是事件驱动.同步非阻塞,为了达到这一目标,必须采用系统提供的I/O多路复用技术,而这些在Windows.Linux. Unix等不同平台上却各有不同,如何能提供优雅而统一的支持方式,是首要关键的问题,这其实不难,本节就来分析一下. 1 统一的关键 Libevent支持多种I/O多路复用技术的关键就在于结构体eventop,这个结构体前面也曾提到过,它的成员是一系列的函数指针, 定义在event-interna…
libevent源码深度剖析九 ——集成定时器事件 张亮 现在再来详细分析libevent中I/O事件和Timer事件的集成,与Signal相比,Timer事件的集成会直观和简单很多.Libevent对堆的调整操作做了一些优化,本节还会描述这些优化方法. 1 集成到事件主循环 因为系统的I/O机制像select()和epoll_wait()都允许程序制定一个最大等待时间(也称为最大超时时间)timeout,即使没有I/O事件发生,它们也保证能在timeout时间内返回. 那么根据所有Timer事…
libevent源码深度剖析八 ——集成信号处理 张亮 现在我们已经了解了libevent的基本框架:事件管理框架和事件主循环.上节提到了libevent中I/O事件和Signal以及Timer事件的集成,这一节将分析如何将Signal集成到事件主循环的框架中. 1 集成策略——使用socket pair 前一节已经做了足够多的介绍了,基本方法就是采用“消息机制”.在libevent中这是通过socket pair完成的,下面就来详细分析一下.       Socket pair就是一个sock…
libevent源码深度剖析七 ——事件主循环 张亮 现在我们已经初步了解了libevent的Reactor组件——event_base和事件管理框架,接下来就是libevent事件处理的中心部分 ——事件主循环,根据系统提供的事件多路分发机制执行事件循环,对已注册的就绪事件,调用注册事件的回调函数来处理事件. 1 阶段性的胜利 Libevent将I/O事件.定时器和信号事件处理很好的结合到了一起,本节也会介绍libevent是如何做到这一点的.     在看完本节的内容后,读者应该会对Libe…