我的操作系统是Arch Linux。当存在coredump时,我尝试使用gdb来调试它:
$ coredumpctl gdb 1621
......
Storage: /var/lib/systemd/coredump/core.runTests.1014.b43166f4bba84bcba55e65ae9460beff.1621.1491901119000000000000.lz4
Message: Process 1621 (runTests) of user 1014 dumped core.
Stack trace of t
我正在尝试将进程的内存转储到远程机器上。目标机器是某种旧的Linux,我在上面运行我编译的gdbserver 8.3。
我可以使用gcore命令创建一些方便的转储文件,但是,这些转储文件缺少所有的r-x和r--部分,它只包含可写部分。
两个我都试过了
set use-coredump-filter on
set use-coredump-filter off
和
set dump-excluded-mappings on
set dump-excluded-mappings off
我正在运行一个阿尔卑斯linux,并试图安装radare2。我下载了git,然后运行了install.sh脚本。在遇到错误之前,它似乎运行良好:
In file included from p/native/linux/linux_debug.c:6:
/home/nomad/GitRepos/radare2/libr/include/r_debug.h:609:115: note: expected 'r_ptrace_data_t' {aka 'int'} but argument is of type 'void *'
static in
我使用.yml、Dockerfile等从几个不同的映像构建了一个DOCKER容器。到目前为止,一切都很好,除了我在标题中提到的这个问题:
index-db_1 | 2021-02-22 23:18:33.388 UTC [31] WARNING: could not open statistics file "pg_stat_tmp/global.stat": Operation not permitted
数据库索引映射到Docker包根目录中主机上的一个文件夹,就数据库而言,其他一切似乎都正常。我使用的是Mac,但是如果我列出了CLI对DB文件夹的权限,我将获得:
-
当我的Docker容器上的MariaDB数据库继续重新启动时,我发现问题出在我的数据库中(我认为它已经损坏了)。
root@website:~# docker-compose ps
Name Command State Ports
----------------------------------------------------------------------------------------------------
root_mariadb_1 do
上下文:我有一个用C++实现并由pybinder公开的python脚本调用接口。
据我所知,核心文件需要:
将核心文件大小设置为无限,这是默认的0(可选)在核心模式文件中设置核心文件路径,或者apport命令。
这是我的节目
# Enable process to corefile size.
resource.setrlimit(resource.RLIMIT_CORE, (resource.RLIM_INFINITY, resource.RLIM_INFINITY))
# Core pattern file indicates the destination of corefile, w
以下代码生成coredump文件:
#include <iostream>
#include <string>
#include <pwd.h>
#include <grp.h>
#include <sys/resource.h>
int main() {
int b = 0;
int a = 140/b;
return 0;
}
输出:Floating point exception (core dumped)
Coredump在/opt/cores中生成
$ ls -al /opt/cores
t
我正在尝试使用linux,它显示了一个在FingerPrinter上运行它的示例,我在linux上运行它,因为它比windows更具可定制性,好吧,我遵循了所有的说明来构建和编译,但我得到了这个错误。这些SDK使用了libusb库和一些usb规则,两者都是完美安装和允许的。希望能得到一些帮助。
这是一个完整的包,您可以在其中找到所有代码和自述文件。
!
In file included from /usr/include/x86_64-linux-gnu/bits/waitstatus.h:64:0,
from /usr/include/stdlib.h:42,
某些rootkits攻击的工作方式是在格式列表中插入新的二进制格式,并向内核提供恶意处理程序,该处理程序会在每次调用内核时返回错误代码ENOEXEC。因为新的处理程序被插入在格式列表的头部,所以恶意处理程序在每次新进程被executed.The时被执行。在系统启动之后,列表的大小是恒定的,并且仅当安装了新的二进制格式时才改变。当此攻击插入新的二进制格式时,它会更改格式列表的长度。我在一篇文章中读到过这一点。我想知道这在内核3中也是真的吗?如果是,我如何检查格式列表的长度?我在内核3.11.4中发现了这个结构:
/*
* This structuredefines the function
我有一个二进制foo,我会给foo一个文件输入,这可能会在Ubuntu中触发coredump。为此,我编写了一个循环,并在每次迭代中更改文件内容。但每当出现核心转储时,我都想终止循环。下面是bash代码:
while true
do
change_file file_s > file_new
./foo file_new
# need to check coredump to terminate the loop
done
如果用python更容易的话,我可以把脚本改成python。
我有一个Python程序,它有时会因为“双重免费或损坏”错误而崩溃。我正在试图找出这种情况发生在哪里(可能是在我使用的众多库中的一个),这样我就可以防止它崩溃。为此,我启用了核心转储,现在可以使用Apport .crash文件了。
我被困在这里了。如何将核心转储加载到gdb或其他可以让我查看任何可用堆栈跟踪信息的东西?
apport似乎很棒,但不会加载,因为.crash文件中没有包:
ERROR: report file does not contain one of the required fields: CoreDump DistroRelease Package ExecutableP