代码之家  ›  专栏  ›  技术社区  ›  Jon Ericson Homunculus Reticulli

如何在dbx中的内存位置上放置断点?

  •  2
  • Jon Ericson Homunculus Reticulli  · 技术社区  · 16 年前

    dbx 在分配内存位置后监视它,以便查明导致损坏的代码。

    这可能吗?如果是这样的话,在损坏时生成断点的语法是什么?

    如果不是,那么解决这类问题的好方法是什么?

    3 回复  |  直到 16 年前
        1
  •  4
  •   Jon Ericson Homunculus Reticulli    16 年前

    更深入地研究之后,它似乎是最新版本的解决方案 dbx 有点像:

    stop access w <address>, <size>
    

    自从 <address> <size> 可以是表达式,您可以编写如下命令:

    stop access w &p, sizeof(int)
    

    这假设 p 是一个指针,我们要监视它指向的第一个单词。

    tutorial 关于跟踪和踩踏内存错误。它使用 gdb 而不是

        2
  •  1
  •   Mo Tahan    8 年前

    (dbx) help stophwp
    
    stophwp <address> <size>
    
            Stop execution when the contents of the specified
            memory region change.  This is a accomplished in
            hardware and may not be available on all models.
    
        3
  •  0
  •   Ana Betts    16 年前

    我不是Solaris开发人员,但您可以使用gdb和硬件断点来实现这一点