如何只为特定的arch执行命令?

时间:2017-07-22 17:07:12

标签: gdb

我正在尝试为本机和远程GDB创建通用gdbinit,其中native是i386,remote是ARM。对于i386,我有set disassembly-flavor intel命令,它打破了以ARM为目标的GDB的初始化。

我发现的唯一让我知道拱门(至少是i386与ARM)的东西是 show arch命令,但它只是将其输出打印到stdout,不允许我将其用于比较。

那么,有没有办法只为某些架构执行命令,但不是没有ohers?

1 个答案:

答案 0 :(得分:2)

您可以使用Python插件忽略错误:

col <- inputCollector(`::` = function(e, collector, ...){
  collector$call(paste0(e[[2]], "::", e[[3]]))
})
getInputs(quote(stats::rnorm(x)), collector = col)@functions
Browse[1]> getInputs(quote(stats::rnorm(x)), collector = col)@functions
stats::rnorm        rnorm 
          NA           NA 

或者您可以查看架构:

python
try:
   gdb.execute("set disassembly-flavor intel")
except:
   pass
end