zoukankan      html  css  js  c++  java
  • 调试之设置数据断点 (zz.IS2120)

    How to: Set a Data Breakpoint (Native Only)

    //z 2012-09-11 09:43:48 IS2120@CSDN.T3678804781[T31,L404,R7,V204]
    Data breakpoints break execution when a value that is stored at a specified memory location is written. If the value is read but not written, execution does not break.

    Data breakpoints do not work under these conditions: if a process that is not being debugged writes to the memory location, or if the memory location is shared between two or more processes.

    Data breakpoints do not work if the memory location is updated within the kernel. For example, if memory is passed to the 32-bit Windows ReadFile function, the memory will be updated from kernel mode and the debugger does not break on the memory write.

    To set data breakpoints, the debugger must be in break mode only.

    Addresses of variables change from one debugging session to the next. For this reason, data breakpoints are automatically disabled at the end of each debugging session.

    If you set a data breakpoint on a local variable, the data breakpoint remains enabled when the function ends. However, the memory address it is set on no longer has the same meaning. Therefore, the results of such a breakpoint are unpredictable. If you set a data breakpoint on a local variable, the best practice is to remove or disable the breakpoint before the function ends.

    Visual Studio supports a maximum of four data breakpoints per solution.

    Note The dialog boxes and menu commands you see might differ from those described in Help, depending on your active settings or edition. To change your settings, choose Import and Export Settings on the Tools menu.

    To set a memory change breakpoint

    //z 2012-09-11 09:43:48 IS2120@CSDN.T3678804781[T31,L404,R7,V204]
    On the Debug menu, choose New Breakpoint, and then click New Data Breakpoint.
    1. -or-

      In the Breakpoints window menu, click New, and then choose New Data Breakpoint.

      The New Breakpoint dialog box appears.

    2. In the Address box, type a memory address or expression that evaluates to a memory address.

      For example, type &avar to break when the contents of variable avar change.

    3. In the Byte Count box, type the number of bytes you want the debugger to watch.

      For example, if you type 4, the debugger will watch the four bytes starting at &myFunction and break if any of those bytes change value.

    4. Click OK.

    调试 断点 观察 变量 变化 内存 变化
    //z 2012-09-11 09:43:48 IS2120@CSDN.T3678804781[T31,L404,R7,V204]
  • 相关阅读:
    转:不在同一个服务器上的数据库之间的数据操作(oracle/sql server的对比)
    即将来到: CSS Feature Queries (CSS特性查询)
    HTML5 Canvas(画布)实战编程初级篇:基本介绍和基础画布元素
    jQuery animate方法开发极客标签Logo动画融合效果
    Bootstrap3实现的响应式幻灯滑动效果个人作品集/博客网站模板
    无需编码开发快速设计互动式UI
    免费资源:Bootstrap开发的创意模板
    通过Intel XDK编写跨平台app(二)
    免费图标:30个食品相关的图标
    CSS中:before和:after选择器的用法
  • 原文地址:https://www.cnblogs.com/IS2120/p/6745832.html
Copyright © 2011-2022 走看看