我有一个用户定义的结构。
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“类似问题”部分的很多帖子,但找不到确切的答案。
我正在建立自己的 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)