当我使用gdb调试程序时,我想查看有关调试进度的文件描述符信息。我使用“info file”、“info proc”命令,但这些命令输出不包含文件描述符信息。那么使用 gdb\xef\xbc\x9f 时是否有命令输出文件描述符信息 先谢谢了!
\n以下是一个简单的C程序:
#include <unistd.h>
#include <stdio.h>
int main(void)
{
while (1)
{
printf("Hello World\n");
sleep(1);
}
}
Run Code Online (Sandbox Code Playgroud)
构建并运行它," Hello World"将打印在终端中:
$ ./a.out
Hello World
Hello World
Hello World
Run Code Online (Sandbox Code Playgroud)
但如果stdout重定向到文件,运行一段时间后,文件中仍然没有任何内容:
$ ./a.out > log.txt
^C
$ cat log.txt
$
Run Code Online (Sandbox Code Playgroud)
为什么printf输出到stdout重定向到的文件?
all:
用C语言:
struct A
{
int a;
int b;
};
A aa = {0};
Run Code Online (Sandbox Code Playgroud)
此语句仅初始化aa.a或初始化整个结构?或者行为取决于编译器?
提前致谢!
我是编程的新手D.阅读完基本类型后,我决定检查size_t我的64Windows 7操作系统中的类型.代码是这样的:
import std.stdio;
void main()
{
writeln("Type: ", size_t.stringof);
writeln("Size: ", size_t.sizeof);
}
Run Code Online (Sandbox Code Playgroud)
执行后,输出为:
Type: uint
Size: 4
Run Code Online (Sandbox Code Playgroud)
根据我的理解,size_t应该是ulong on- 64bit OS 的类型.
任何人都可以提供任何线索吗?首先十分感谢!
我使用“ perf stat”命令对某些事件进行统计:
[root@root test]# perf stat -a -e "r81d0","r82d0" -v ./a
r81d0: 71800964 1269047979 1269006431
r82d0: 26655201 1284214869 1284214869
Performance counter stats for './a':
71,800,964 r81d0 [100.00%]
26,655,201 r82d0
0.036892349 seconds time elapsed
Run Code Online (Sandbox Code Playgroud)
(1) 我知道71800964是“ r81d0”的计数,但是1269047979and是什么意思1269006431?
(2) “ [100.00%]”是什么意思?
我曾尝试“ perf stat --help”,但无法获得这些值的解释。
我想用来gdb调试python脚本。启动后gdb,输出:
[root@localhost scripts]# gdb python
GNU gdb (GDB) Red Hat Enterprise Linux 7.6.1-51.el7
Copyright (C) 2013 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-redhat-linux-gnu".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>...
Reading symbols …Run Code Online (Sandbox Code Playgroud) 我正在关注docker文档来测试数据卷的备份过程。
下面2步都OK:
docker create -v /dbdata --name dbdata training/postgres /bin/true
docker run -d --volumes-from dbdata --name db1 training/postgres
Run Code Online (Sandbox Code Playgroud)
但是备份数据的输出是:
[root@localhost data]# docker run --volumes-from dbdata -v $(pwd):/backup ubuntu tar cvf /backup/backup.tar /dbdata
tar: /backup/backup.tar: Cannot open: Permission denied
tar: Error is not recoverable: exiting now
[root@localhost data]# pwd
/root/data
[root@localhost data]# ls -alt
total 4
drwxrwxrwx. 2 root root 6 May 7 21:33 .
drwxrwx-w-. 15 root root 4096 May 7 21:33 ..
Run Code Online (Sandbox Code Playgroud)
我是root用户,为什么会提示“Permission denied ”?
执行调试命令后: …
在 Docker v1.4.1 中,我们可以在宿主机上找到容器的rootfs。例如:
cd /var/lib/docker/devicemapper/mnt/ab83a2638bb23f24d8811fa9b4ca458efca9269696ff3112cc670be2833f3f92/rootfs/
.autofsck .dockerenv lost+found/ proc/ sys/
.autorelabel .dockerinit media/ root/ tmp/
bin/ etc/ mnt/ sbin/ usr/
boot/ lib/ opt/ selinux/ var/
dev/ lib64/ .pki/ srv/
Run Code Online (Sandbox Code Playgroud)
但是在 Docker v1.6.0 中,我发现它/var/lib/docker/devicemapper/mnt/911d7ac8fca78b2beca8752ec89d80c06a1ea1dd8a65099d074ed40eec0c6cce是空的。
v1.6.0在哪里?
它已经使用了 devicemapper
# docker -D info
Containers: 4
Images: 58
Storage Driver: devicemapper
Pool Name: docker-253:1-2886824-pool
Pool Blocksize: 65.54 kB
Backing Filesystem: extfs
Data file: /dev/loop0
Metadata file: /dev/loop1
Data Space Used: 12.12 GB
Data Space Total: 107.4 …Run Code Online (Sandbox Code Playgroud) 来自<linux/module.h>:
#ifdef MODULE
#define MODULE_GENERIC_TABLE(gtype,name) \
extern const struct gtype##_id __mod_##gtype##_table \
__attribute__ ((unused, alias(__stringify(name))))
extern struct module __this_module;
#define THIS_MODULE (&__this_module)
#else /* !MODULE */
#define MODULE_GENERIC_TABLE(gtype,name)
#define THIS_MODULE ((struct module *)0)
#endif
Run Code Online (Sandbox Code Playgroud)
我可以看到" extern struct module __this_module;"只是一个声明__this_module,但不是定义__this_module.那么内存分配在__this_module哪里?我在kernel代码中找不到它.
我使用 Rust 的默认安装并希望阅读本教程之后的文档:
$ rustup doc
Run Code Online (Sandbox Code Playgroud)
确实没有html目录:
$ rustup doc
Run Code Online (Sandbox Code Playgroud)
如何离线阅读 Rust 文档?