小编dga*_*gan的帖子

GDB不断下载调试信息

有时,当我启动调试过程时,GDB 首先下载所有依赖项的所有调试信息,这是不可忽视的。考虑到依赖项并不经常添加,我怀疑这是因为我使用的是滚动发行版,所以每次我执行发行版升级时,GDB 都会在下次启动时重新下载调试信息(可能是完全错误的) , 我不知道)

查看文档后,我尝试了:

...
Downloading separate debug info for /lib64/libFLAC.so.8...
Downloading separate debug info for /lib64/libspeex.so.1...
Downloading separate debug info for /lib64/libopus.so.0...
...
(gdb) show debug-file-directory
The directory where separate debug symbols are searched for is "/usr/lib/debug".
...

# Huh?
denis@localhost:~> file /usr/lib/debug
/usr/lib/debug: cannot open `/usr/lib/debug' (No such file or directory)

denis@localhost:/usr> sudo find . -name debug
./share/code/resources/app/out/vs/workbench/contrib/debug
./include/c++/10/debug
./include/c++/11/debug
./src/linux-5.13.13-1/arch/arm/include/debug
./src/linux-5.13.13-1/kernel/debug
./src/linux-5.13.13-1/tools/power/cpupower/debug
./src/linux-5.14.0-3.g501d1f1/arch/arm/include/debug
./src/linux-5.14.0-3.g501d1f1/kernel/debug
./src/linux-5.14.0-3.g501d1f1/tools/power/cpupower/debug
./lib64/node_modules/npm16/node_modules/debug
denis@localhost:/usr> 
Run Code Online (Sandbox Code Playgroud)

如何下载和存储并调整 GDB 以使用相同的调试信息?

如果这很重要的话,我正在使用 openSUSE Tumbleweed

c++ gdb

10
推荐指数
1
解决办法
5939
查看次数

测试postgres db python

我不知道如何测试我的存储库。

我想确保我确实将带有所有参数的对象保存到数据库中,并且当我执行SQL语句时,确实收到了应有的信息。

但是,我不能"CREATE TABLE test_table在单元setUp测试用例的方法中放入“,因为它将被多次创建(同一测试用例的测试是并行运行的)。因此,只要我在同一类中创建两个需要在同一方法上工作的方法表格,将无法使用(表格名称冲突)

相同,我不能放"CREATE TABLE test_table" setUpModule,因为现在表创建一次,但是由于测试是并行运行的,因此没有什么可以阻止将同一对象多次插入到我的表中,这打破了某些字段的唯一性约束。

同样,我不能"CREATE SCHEMA some_random_schema_name"在所有方法中都使用,因为我需要为给定数据库全局全局设置“ SET search_path TO ...”,因此并行运行的每个方法都将受到影响。

我看到的唯一方法是"CREATE DATABASE"使用唯一的名称为每个测试创建to ,并建立与每个数据库的单独连接。.这看起来非常浪费。有没有更好的办法?

另外,由于需要测试PostgreSQL,因此无法在内存中使用SQLite。

python postgresql python-unittest

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

可变参数宏无法编译

我有 2 个可变宏,其中一个可以正常编译,另一个则不能:

    #define ASSERT(x, ...)           assert_log(x, __FILE__, __LINE__, __VA_ARGS__)
    #define TRACE (x, ...)           trace(x, __FILE__, __LINE__, __VA_ARGS__)
...

libs/defs.h:16:71: error: __VA_ARGS__ can only appear in the expansion of a C99 variadic macro [-Werror]
   16 |         #define TRACE (x, ...)           trace(x, __FILE__, __LINE__, __VA_ARGS__)
      |                                                                       ^
Run Code Online (Sandbox Code Playgroud)

他们宣布的签名:

void assert_log(int, const char*, int, const char* , ...);
void trace(int, const char*, int, const char* , ...);
Run Code Online (Sandbox Code Playgroud)

编译标志:

CFLAGS= \
    -Wextra \
    -Werror \
    -Wall \
    -Wfloat-equal \
    -Wundef \
    -Wshadow \ …
Run Code Online (Sandbox Code Playgroud)

c preprocessor variadic-macros

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

不能用断言重写目标吗?

我不确定我是否理解为什么在某些情况下重写H有效,而在某些情况下则无效。这里例如:

Theorem add_assoc2 : forall n m: nat, n + m = m + n.
Proof. intros. rewrite add_comm. reflexivity. Qed.

Theorem plus_4: forall n m p q: nat,
  n + (n * p) + m + (m * p) = n + m + (n * p) + (m * p).
Proof.
  intros.
  assert (H: n * p + m = m + n * p).
  {  rewrite <- add_assoc2. reflexivity. }
  rewrite H.
Run Code Online (Sandbox Code Playgroud)

给出:

1 goal …
Run Code Online (Sandbox Code Playgroud)

coq

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

Flask:添加使用统计信息

我有一个Flask RESTapi,由多个团队使用,我想记录用户统计信息.API没有任何用户身份验证机制,因为在我们的公司环境中不需要它(它托管在内部服务器上,因此无论谁可以访问它,他/她都有权这样做).

不过,我想知道大多数请求的来源.当然,我可以轻松地在每条路线上添加一个记录器到数据库并保存request.remote_addr,但是我想在调用具体路径之前这样做(因为实际调用哪条路线并不重要,我还是想要用户统计信息); 因此,它可以复制到其他基于Flask的API,因此无需记住每次创建路径时都添加用户记录器.

好吧,问题是我应该寻找Flask的哪个部分,以便在将请求发送到具体路线之前添加我的额外功能?

python rest flask

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

标签 统计

python ×2

c ×1

c++ ×1

coq ×1

flask ×1

gdb ×1

postgresql ×1

preprocessor ×1

python-unittest ×1

rest ×1

variadic-macros ×1