debugging - 如何在gdb中正确设置行号处的断点?
问题描述
请参阅下面的代码及其行号。
1 void f(string& s){
...
//some code
...
12 for(unsigned int i = 0; i <= end; i++){
13 unsigned int a = s[i] - 'a' + 1;
14 unsigned int b = s[end-i] - 'a' + 1;
15 }
16 }
在 gdb 中,我必须检查 variable 的值b
。如何在此处正确设置断点。我知道断点必须在 line 之后14
。但是,每当我输入第 15 行时b 15
,它都会在第 16 行添加断点。有人可以帮忙吗?
解决方案
我不完全确定原因,但在 Visual Studio 中设置断点时也会发生类似的事情,这让我觉得这是一件司空见惯的事情。
我克服这个问题的廉价方法是在你的等式之后添加一条线,上面写着:
b = b;
然后在那里设置断点
推荐阅读
- json - JSON SWIFT,如何访问值
- c# - 在以不同方法创建的对象上使用
- python - 无法使用搜索关键字解析网页中的某些信息
- node.js - Mongoose 警告:DeprecationWarning:当前的服务器发现和监控引擎已弃用?
- java - 使用 Maven 程序集插件作为 project.basedir 或 project.build.directory 创建 zip 原型更好吗?
- django - 在 Django 中为 Meta Tag 使用 model.save 数据
- java - 如何在 ubuntu 16.04 的 hadoop 中设置 JAVA_HOME 变量
- css - @include 出口处的 CSS 编译错误('class-name')
- java - 使用来自数组的连接整数创建字符串时出现问题
- birt - 如何从Birt中的特定数字开始页码循环?