zoukankan      html  css  js  c++  java
  • 如何使用符号文件?

    几乎每个命令都会直接或者间接地使用符号信息. 进行符号检查的命令却不多.

    查看符号的命令是x, 这个字符表示"查看符号". 语法如下所示:

    0.00>x [options] module!symbols

    module和symbols都可以包含通配符. 在调试陌生代码时, 通配符是一种功能强大的工具, 因为它使我们在阅读代码之前能够猜测函数的名字或者全局变量.

    image

    其中, 带有_imp前缀的函数说明了该模块是引入函数的模块. 不带_imp的函数是实现该函数的模块.

    当调试器使用公有符号文件时, 这些符号检查命令是不能发挥出全部功能的.

    另一个可以充分利用符号的命令是ln, ln表示list near. 该命令将尽可能地给出特定地址相关的符号信息. 如果没有符号能够精确地与这个地址匹配的话, 调试器将通过指针算法对靠近这个地址的符号进行运算, 并返回运算结果的符号以及输入的地址与该符号的偏移量.

    image

    当你正在查看某部分数据却不知道这部分数据所表示的内容的时候, 这个命令能够带来极大的帮助. 如果正在分析的地址属于栈的一部分, 那么你很可能发现来自调用栈的代码序列. ln可以帮助你识别它们. 如果正在查看一个堆块, 那么很可能发现一些最初对象的碎片, 这将帮助你找到这块堆块的用途.

    摘自<<Advanced Windows Debugging>>

  • 相关阅读:
    令人眼花缭乱的XP封面:)
    GT3.9.5中新增的DRS服务
    4月12日后WinXP系统将会强制下载SP2(zz)
    全球手机排名出炉 摩托三星西门子位置调整(zz)
    元宵佳节,悬谜竞猜
    Laszlo平台简介(zz)
    笔记本市场见闻
    最近Wallop好像较难上去啊
    Dell再次表示不采用AMD处理器(zz)
    Media Player Classic 6.4.8.3发布(zz)
  • 原文地址:https://www.cnblogs.com/awpatp/p/1918059.html
Copyright © 2011-2022 走看看