小编Jer*_*her的帖子

在具有Centos 5的64位计算机上使用带有32位二进制文​​件的gdb和gdbserver会抱怨内存访问或格式错误的数据

我有两台相同的64位Centos 5机器,它们是联网的,并共享他们的/ home mount.我在一个上编译了一个简单的Hello World程序,然后我想出了如何在一台机器上使用gdb远程调试它在另一台机器上运行.当每个人都默认为64位时,这似乎工作正常.

但是,如果我使用-m32编译我的Hello World以生成32位二进制文​​件,就像我们的完整系统正在编译的那样,那么我无法弄清楚如何让gdb和gdbserver正确连接.在我对我们的完整系统进行尝试之前,我认为我应该让它与你好.根据我尝试连接gdb和gdbserver的方式,我要么得到有关格式错误的寄存器,有关架构不匹配的警告或非法内存引用的消息.

我似乎很少理解-m32在我的编译中的含义,并且不知道如何启动gdb和gdbserver或者正确的命令来指定体系结构或文件或其他东西.:(

在64位Linux机器上的32位(-m32)可执行文件上使用gdb和gdbserver需要什么?

以下示例,谢谢,

杰瑞

HELLO.CPP:

#include <iostream>
int main(int argc, char *argv[])
{
    std::cout << "Hello World." << std::endl;
    return -1;

}
Run Code Online (Sandbox Code Playgroud)

这是三个运行:

  1. 在gdb中,设置架构i386 /然后连接到gdbserver => bad architecture
  2. 在gdb中,设置架构i386/file hello /然后连接到gdbserver => bad architecture
  3. 在gdb中,设置架构(错误)i386:x86-64/file hello /然后连接到gdbserver =>无法访问内存

或者更详细一点:

==============================

对于每次运行,远程gdbserver说:


    $ gdbserver --multi rdev6:2010 hello
    Process hello created; pid = 32603
    Listening on port 2010
    Remote debugging from host 134.51.26.149
    readchar: Got EOF
    Remote side has terminated connection.  GDBserver will reopen the …
Run Code Online (Sandbox Code Playgroud)

gdb 32bit-64bit gdbserver

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

vold.fstab的内容是什么,或dev_mount行的语法是什么?

我想了解一些关于如何在Android上完成各种SD卡魔术的帖子.这些帖子引用/etc/vold.fstab并建议使用其他或更改的dev_mount行修改其内容.

好吧,有趣,我想.我尝试使用google vold.fstab和dev_mount来了解更多关于它们的信息.奇怪的是,这些术语似乎只存在于各种论坛帖子中,关于如何用Android的SD卡做神奇的事情.

也就是说,我找不到任何关于vold.fstab文件应包含的"官方"手册页或文档,无论是例如脚本还是配置文件,无论dev_mount是命令还是规范,等等

所以作为一个非常n00b的Android开发人员,

  1. vold.fstab上的官方文档或手册页在哪里?
  2. 除了developer.android.com之外,我应该在哪里寻找有关Android的综合文档

filesystems android

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

Django:检查外键字段是否已加载

我有两个 Django 模型

class ValidName:
    name = models.TextField()

class MetaSyntacticName(ValidNames):
    name = models.ForeignKey(ValidName)
    usages = models.IntegerField()
Run Code Online (Sandbox Code Playgroud)

如果我有一个 MetaSyntropicName 实例,我是否可以查明其名称引用的 ValidName 实例是否已从数据库加载而无需进行数据库查询?

django django-models

7
推荐指数
1
解决办法
1483
查看次数

我什么时候想在 WSL2 中安装 VSCode 扩展:Ubuntu 与 VsCode Windows?

我的大部分编码都是在 WSL2:Ubuntu 中进行的。我通常在 WSL2:Ubuntu 中打开终端,更改为项目目录,然后通过键入启动 VSCodecode .

当我寻找扩展时,它们似乎(?)安装在 Windows VSCode 本身中,然后一段时间后,VSCode 会建议在 WSL:Ubuntu 中安装扩展

  • 我什么时候应该将扩展安装到 WSL:Ubuntu 中?
  • 除了将其安装到 VSCode Windows 中之外,在 WSL:Ubuntu 中安装扩展还能获得什么好处?
  • 安装到 VSCode Windows 中的哪些类型的 VSCode 扩展无法在 WSL2:Ubuntu 项目上运行?

如果我理解下图,那么任何对代码、片段、格式化程序、intellisense/kite/tabnine 进行操作的扩展都需要安装到 WSL 中,但是根据缩进级别更改文本颜色或放置有关成本的提示的扩展又如何呢?进口的?这些是“UI 扩展”还是“工作区扩展”?

在此输入图像描述

这里的答案是否适合所有远程 vscode 开发或特别适合在 WSL2 下进行开发?

我需要了解 VSCode Windows 和 VSCode WSL2:Ubuntu 的哪些知识才能理解这一点?

visual-studio-code windows-subsystem-for-linux

6
推荐指数
1
解决办法
5415
查看次数

在 SQLAlchemy Core 中使用 `with` 上下文管理器如何知道事务是否回滚?

事务SQLAlchemy CORE 文档建议使用with上下文管理器,如下所示:

# runs a transaction
with engine.begin() as connection:
    r1 = connection.execute(table1.select())
    connection.execute(table1.insert(), col1=7, col2='this is some data')
Run Code Online (Sandbox Code Playgroud)

或者

with connection.begin() as trans:
    r1 = connection.execute(table1.select())
    connection.execute(table1.insert(), col1=7, col2='this is some data')
Run Code Online (Sandbox Code Playgroud)

无论哪种方式,我如何知道事务是否已执行并提交,或者是否已回滚?

python sqlalchemy

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