小编rah*_*til的帖子

即使在逻辑上对两个错误条件进行逻辑运算后,断点处的GDB复杂条件也变为true

如果有条件的条件断点

  (gdb) b handle.cpp:66 if ( (sn == 6092 && !strcmp(_name.c_str(),"HSI_IDX_DEF")) || (sn == 1251 && !strcmp(_name.c_str(),"SP_IDX_DEF")))
Run Code Online (Sandbox Code Playgroud)

它每次都会命中,因为即使对两个错误的子条件进行运算后,复杂的条件也会每次都变为真。

(gdb) p  ( (sn == 6092 && !strcmp(_name.c_str(),"HSI_IDX_DEF")) || (sn == 1251 && !strcmp(_name.c_str(),"SP_IDX_DEF")))
    $10 = true
    (gdb) p (sn == 6092 && !strcmp(_name.c_str(),"HSI_IDX_DEF"))
    $11 = false
    (gdb) p  (sn == 1251 && !strcmp(_name.c_str(),"SP_IDX_DEF"))
    $12 = false
Run Code Online (Sandbox Code Playgroud)

我的发行

Linux lab-exchangeIn 2.6.32-279.el6.x86_64 #1 SMP Fri Jun 22 12:19:21 UTC 2012 x86_64 x86_64 x86_64 GNU/Linux
Run Code Online (Sandbox Code Playgroud)

gdb版本

 GNU gdb (GDB) Red Hat Enterprise Linux (7.2-56.el6) …
Run Code Online (Sandbox Code Playgroud)

gdb

5
推荐指数
0
解决办法
818
查看次数

如何检查是否已从命令行登录perforce

我想命令检查我是否已经登录perforce,如果我已登录则返回0,否则返回一些非零值来表示错误.如何从命令行实现这一目标?

perforce

4
推荐指数
1
解决办法
1946
查看次数

当使用变量进行比较时,awk无法在bash脚本中工作

以下是我的bash脚本.如果我使用varible oid在awk中进行比较,它不会显示匹配的行.

oid="3586302804992"
SYMBOL_CSV_FILE="symbol/BAC"
awk -F, '$5 == $oid' "$SYMBOL_CSV_FILE"
echo "2nd"
awk -F, '$5 == "3586302804992"' "$SYMBOL_CSV_FILE"
Run Code Online (Sandbox Code Playgroud)

O/P是

2nd
BAC,1,O,1,3586302804992
Run Code Online (Sandbox Code Playgroud)

symbol/BAK 文件内容是

BAC,1,O,1,3586302804992o
Run Code Online (Sandbox Code Playgroud)

将""放在第3行的$ oid附近,并没有任何区别.

linux bash shell

3
推荐指数
1
解决办法
3187
查看次数

如何按插入顺序从地图中检索元素?

我有一张地图存储<int, char *>.现在我想按照它们插入的顺序检索元素.std::map返回按键排序的元素.它甚至可能吗?

c++ boost map

3
推荐指数
1
解决办法
1447
查看次数

GDB:使用涉及前一帧变量的条件设置复杂断点

是否可以设置一个复杂的断点,该断点的条件涉及检查传递给外部函数(框架)的参数。

例如。

  1 #0  sample::_processMessage (this=0xa5c8c0, data=0x7fffe5ae31db "\027w\270߸\023\032\212\v", line=0x7fffe4799db8 "224.4.2.197:60200", should_process=true) a sample.cpp:426
  2 #1  0x00007ffff682f05d in sample::_process (this=0xa5c8c0, should_process=true, line=0x7fffe4799db8 "224.4.2.197:60200", data=0x7fffe5ae31db "\027w\270߸\023\032\212\v", sn=31824) a sample.cpp:390
  3 #2  0x00007ffff6836744 in sample::drain (this=0xa5c8c0, force=true) at sample.cpp:2284
  4 #3  0x00007ffff682ed81 in sample::process (this=0xa5c8c0, mdData=0x7fffe67914e0) at sample.cpp:354
Run Code Online (Sandbox Code Playgroud)

这里我想在 sample.cpp:356 上设置一个断点,它在函数 process-frame#3 中,如果 _process 或 frame #1 在击中断点时有 sn == 31824

所以实际上断点在函数 _process 但我想暂停函数进程中的执行

提前致谢

gdb

3
推荐指数
1
解决办法
900
查看次数

使用选项 -tui,GDB 以“不允许 TUI 模式”退出

我正在运行 gdbGNU gdb (GDB) Red Hat Enterprise Linux 7.6.1-51.el7版本。我的 TUI 模式可以无缝运行。突然,现在它"TUI mode not allowed"在发出命令时出错layout src。当我尝试使用-tui选项运行 gdb 时,gdb 立即退出"TUI mode not allowed"

*作为新问题提出,因为没有其他线程可以提供帮助。

gdb

3
推荐指数
1
解决办法
6008
查看次数

SyntaxError:JSON.parse:在对象中的属性值之后的','或'}'

将json字符串转换为javascript对象时出现此错误.{"Name":"Dem"o"} 当我们解析json字符串时,json字符串包含双引号,就像处理双引号的任何正确方法一样?

asp.net-mvc json

2
推荐指数
1
解决办法
1万
查看次数

类型atomic_int_fastN_t和atomic_int_leastN_t有什么区别

cplusplus.com上,我看到的是数据类型 atomic_int_fastN_tatomic_int_leastN_t其中N可以是8,16,32和64。那么,最小和快速单词在它们中的含义是什么?或它们之间的区别是什么?即atomic_int_fast64_t与at atomic_int_least64_tatomic<int64_t>有何区别?

c++ c++11

2
推荐指数
1
解决办法
260
查看次数

标签 统计

gdb ×3

c++ ×2

asp.net-mvc ×1

bash ×1

boost ×1

c++11 ×1

json ×1

linux ×1

map ×1

perforce ×1

shell ×1