小编Dee*_*Yen的帖子

在 python gdb 中将地址转换为特定类型

我有一个用户定义的结构。

struct foo {
    int bar1;
    char *name;
    user_type_t *tba;
}foo_t;
Run Code Online (Sandbox Code Playgroud)

在 gdb 中,我有一个指向 foo_t 类型的地址。例如0xfe83ba56指向内存中类型为foo_t的结构。

我可以通过类型转换将该地址转换为 foo_t,然后在需要时可以取消引用它。(gdb) p (foo_t *)0xfe83ba56

如何在 gdb 中使用 python 进行同样的操作?如果我有一个 gdb.Value 对象,它已经指向 foo_t 类型的对象,那么我可以得到它的地址。但在这里,我试图将原始地址转换为 gdb.Value 对象。

我查看了https://sourceware.org/gdb/onlinedocs/gdb/Values-From-Inferior.html#Values-From-Inferior以及SO“类似问题”部分的很多帖子,但找不到确切的答案。

c c++ python gdb

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

安装多个版本时,如何强制 jekyll 使用特定版本?

我正在建立自己的 Github 页面。我想在推送到远程仓库之前在本地机器上测试站点。我按照https://help.github.com/en/github/working-with-github-pages/creating-a-github-pages-site-with-jekyll的说明进行操作。

按照说明,我尝试了jekyll 3.8.5 new命令,因为 jekyll-3.8.5 是 github pages 使用的版本(https://pages.github.com/versions/)。但是,jekyll 在我的系统中找不到 3.8.5 版本。

这是在 macOS Catalina 上,安装了 rbenv 来管理 ruby​​ 版本。我尝试手动调用 jekyll 3.8.5 版。那完全有效。

以下是一些尝试的片段。gem list将 3.8.5 显示为可用版本。但是jekyll 3.8.5 new命令轰炸了。

$ gem list jekyll

*** LOCAL GEMS ***

jekyll (4.0.0, 3.8.6, 3.8.5)

$ which jekyll
/Users/deep/.gem/ruby/2.6.0/bin/jekyll

$ jekyll 3.8.5 new mygh-site
fatal: 'jekyll 3.8.5' could not be found. You may need to install the jekyll-3.8.5 gem or a related …
Run Code Online (Sandbox Code Playgroud)

rubygems jekyll rbenv github-pages

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

标签 统计

c ×1

c++ ×1

gdb ×1

github-pages ×1

jekyll ×1

python ×1

rbenv ×1

rubygems ×1