小编Sab*_*ser的帖子

如何调试 pip install <package name>

如果我想调试通过 "pip install packagename" 安装的包 packagename 的 setup.py 文件,有没有办法这样做?我尝试下载源代码,在 setup.py 中添加 set_trace() 并运行:

    pip install .
Run Code Online (Sandbox Code Playgroud)

但是,一旦我收到 pdb() 提示,安装就会失败并显示错误:

processing /Users/skauser/python-ibmdb/IBM_DB/ibm_db
    Complete output from command python setup.py egg_info:
    > /private/var/folders/b6/pmddncpn77550p8_g9kkx9f40000gp/T/pip-req-build-_fg8s5a2/setup.py(31)<module>()
    -> machine_bits =  8 * struct.calcsize("P")
    (Pdb)
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "/private/var/folders/b6/pmddncpn77550p8_g9kkx9f40000gp/T/pip-req-build-_fg8s5a2/setup.py", line 31, in <module>
        machine_bits =  8 * struct.calcsize("P")
      File "/private/var/folders/b6/pmddncpn77550p8_g9kkx9f40000gp/T/pip-req-build-_fg8s5a2/setup.py", line 31, in <module>
        machine_bits =  8 * struct.calcsize("P")
      File "/Library/anaconda3/lib/python3.7/bdb.py", line 88, in trace_dispatch
        return self.dispatch_line(frame)
      File "/Library/anaconda3/lib/python3.7/bdb.py", …
Run Code Online (Sandbox Code Playgroud)

debugging installation pip setup.py pdb

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

如何将 32 位有符号整数值转换为 C 中等效的 64 位有符号整数

我有一个编译为使用 32 位有符号整数的库。当其他应用程序使用标志编译它们时,例如:-DODBC64 它将我在库中使用的相同类型提升为 64 位有符号整数。例如:

 #ifdef ODBC64
       typedef sint64 SLEN;
 #else
       #define SLEN int
 #endif
Run Code Online (Sandbox Code Playgroud)

当应用程序将引用传递给我的库时:

SLEN count;
mylibraryfunction(&count);
Run Code Online (Sandbox Code Playgroud)

返回给应用程序的值如下所示:

sizeof(SLEN) = 8
sizeof(SLEN) in my library = 4
m_AffectedRows BEFORE = 0x3030303030303030
m_AffectedRows AFTER = 0x3030303000000000        0
Run Code Online (Sandbox Code Playgroud)

您可以看到我的库中的分配正在复制 4 个字节(值 0)。我需要知道一种将高 4 个字节重置为 0 的方法。例如:

0x0000000000000000
Run Code Online (Sandbox Code Playgroud)

我已经尝试了 static_cast 和 reinterpret_cast,但都没有帮助。

c c++ casting

5
推荐指数
1
解决办法
526
查看次数

标签 统计

c ×1

c++ ×1

casting ×1

debugging ×1

installation ×1

pdb ×1

pip ×1

setup.py ×1