Vs2013在Linux开发中的应用(22):模块加载
2014-12-25 21:27
351 查看
快乐虾http://blog.csdn.net/lights_joy/欢迎转载,但请保留作者信息
当gdb检测到模块的加载时会输出:=library-loaded,id="/lib/ld-linux.so.2",target-name="/lib/ld-linux.so.2",host-name="/lib/ld-linux.so.2",symbols-loaded="0",thread-group="i1"
在这里只给出了模块的名称,但VS除了要提供模块名称外还需要id,因而需要自己添加,无非就是个整数,只要不重复就可以了。
然后发送事件通知SDM:
privatevoid SendModuleLoaded(AD7Module ad7Module)
{
AD7ModuleLoadEvent eventObject = new AD7ModuleLoadEvent(ad7Module, true /*this is a module load */);
// TODO: Bind breakpoints when the module loads
Send(eventObject,AD7ModuleLoadEvent.IID, null);
}
然后就可以在输出窗口看到模块加载信息了:
当程序中断时,可以查询更详细的信息,此时SDM将调用: // Gets the MODULE_INFO that describes this module.
// This is how the debugger obtains most of theinformation about the module.
intIDebugModule2.GetInfo(enum_MODULE_INFO_FIELDS dwFields, MODULE_INFO[] infoArray) {
在这里根据要求填上infoArray的值,然后就可以看到模块窗口的信息了:
当gdb检测到模块的加载时会输出:=library-loaded,id="/lib/ld-linux.so.2",target-name="/lib/ld-linux.so.2",host-name="/lib/ld-linux.so.2",symbols-loaded="0",thread-group="i1"
在这里只给出了模块的名称,但VS除了要提供模块名称外还需要id,因而需要自己添加,无非就是个整数,只要不重复就可以了。
然后发送事件通知SDM:
privatevoid SendModuleLoaded(AD7Module ad7Module)
{
AD7ModuleLoadEvent eventObject = new AD7ModuleLoadEvent(ad7Module, true /*this is a module load */);
// TODO: Bind breakpoints when the module loads
Send(eventObject,AD7ModuleLoadEvent.IID, null);
}
然后就可以在输出窗口看到模块加载信息了:
当程序中断时,可以查询更详细的信息,此时SDM将调用: // Gets the MODULE_INFO that describes this module.
// This is how the debugger obtains most of theinformation about the module.
intIDebugModule2.GetInfo(enum_MODULE_INFO_FIELDS dwFields, MODULE_INFO[] infoArray) {
在这里根据要求填上infoArray的值,然后就可以看到模块窗口的信息了:
相关文章推荐
- Vs2013在Linux开发中的应用(16): 修改调试器参数
- Vs2013在Linux开发中的应用(21): 线程创建
- Vs2013在Linux开发中的应用(30):程序中断
- Vs2013在Linux开发中的应用(26):表达式计算
- Vs2013在Linux开发中的应用(35):Telnet支持
- Vs2013在Linux开发中的应用(20): 断点设置
- Vs2013在Linux开发中的应用(27):线程列表
- Vs2013在Linux开发中的应用(14): 远程调试设想
- Vs2013在Linux开发中的应用(32):文本可视化
- Vs2013在Linux开发中的应用(33):反汇编
- Vs2013在Linux开发中的应用(29):寄存器信息
- Vs2013在Linux开发中的应用(24):触发断点
- Vs2013在Linux开发中的应用(18): 应用程序调试方案
- Vs2013在Linux开发中的应用(28):单步执行
- Vs2013在Linux开发中的应用(23):信息输出
- Vs2013在Linux开发中的应用(31):内存块显示
- Vs2013在Linux开发中的应用(36):Milestone-0.1.0
- Linux2.6下开发简单的可加载内核模块
- VELT-0.1.5开发:在vs2013下调试Linux GUI程序
- 用VS.NET开发在Linux Apache Tomcat上运行的应用