小编d6b*_*els的帖子

核心转储注释部分

在我关于手动生成核心转储文件的问题之后,我决定深入研究并弄脏我的手.

我能够构建基本的核心转储结构,并将我的死程序的内存返回到一个大的LOAD部分的核心转储中.在GDB中调试时,我的变量又回来了,没问题.这里有一个棘手的部分,我如何让GDB检索程序崩溃时的位置信息.

我知道核心转储的注释部分包含这些信息(cpu寄存器等).这是objdump -h为"真正的"核心转储提供的内容:

core.28339:     file format elf32-i386

Sections:
Idx Name          Size      VMA       LMA       File off  Algn
  0 note0         000001e8  00000000  00000000  000000f4  2**0
                  CONTENTS, READONLY
  1 .reg/28339    00000044  00000000  00000000  00000150  2**2
                  CONTENTS
  2 .reg          00000044  00000000  00000000  00000150  2**2
              CONTENTS
  3 .auxv         000000a0  00000000  00000000  0000023c  2**2
              CONTENTS
  4 load1a        00001000  08010000  00000000  00001000  2**12
              CONTENTS, ALLOC, LOAD, READONLY, CODE
  .. other load sections ...
Run Code Online (Sandbox Code Playgroud)

我想知道readelf那些.reg部分包含从某些结构映射的数据:

Notes at offset 0x000000f4 with length …
Run Code Online (Sandbox Code Playgroud)

gdb coredump elf

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

在 python opencv 中为像素着色

我需要为图像中的像素着色。我使用opencv和python。
我尝试img[x,y]=[255 255 255]给 a 上色,pixel(x,y)但行不通:(

这其中是否有什么错误呢?
你能建议任何方法吗?

提前致谢。

python opencv image-processing

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

手动生成elf核心转储

我正在寻找手动生成ELF核心转储文件.

我的程序有一个RAM转储,也可以检索寄存器信息等等.

有了这些数据,我想构建一个ELF核心转储文件,类似于Linux内核在程序崩溃时生成的文件,目标是使用专门为我的平台制作的GDB来分析这个核心转储.

我一直在寻找核心转储规格或详细格式,但没找到我想要的东西:

  • 我的核心转储文件需要哪些部分?
  • 它们如何组织到ELF容器中?
  • 如何将二进制RAM转储(+寄存器值)转换为类似文件的核心转储.

这必须最好用C语言完成,我想我可以使用libelf库来帮助我构建文件,但是我没有找到关于该文件放什么的相关信息,以及格式,所以任何线索,链接或建议很受欢迎.

注意:这不是关于提高异常并且为我完成内核的工作,我可以这样做,但我真的需要自己收集RAM并手动将数据注册到elf核心转储中.

谢谢 !

ram gdb coredump elf

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

使用set删除重复项

基本上,我希望通过迭代从lst in到set并将其打印回列表来执行此操作.我得到的问题是我不能遍历set.add(item).set.add()在循环外应用一个值时非常好,但我不能让它在循环中工作.

使用此功能,我可以删除重复项.

remove_duplicates(numbers):
    lst = []
    for i in numbers:
        if i not in lst:
            lst.append(i)
    return lst
Run Code Online (Sandbox Code Playgroud)

但是,我希望能够做到这样的事情.

这是我能走多远.

lst = { }
lsto = [1, 1, 1, 2, 3, 4, 1, 2, 5, 7, 5]

for item in lsto:
    lst.add(item)

print(lst)
Run Code Online (Sandbox Code Playgroud)

提前致谢!

python set

0
推荐指数
1
解决办法
56
查看次数

Caffe安装在ubuntu 14.04中

我正在关注https://github.com/BVLC/caffe/wiki/Ubuntu-14.04-ec2-instance链接,以便在我的机器上安装caffe.但是当我写命令时,$ make我得到了这些错误

/usr/local/cuda/bin/nvcc -ccbin=g++ -Xcompiler -fPIC -DNDEBUG -O2 -I/usr/local/include/python2.7 -I/usr/local/lib/python2.7/dist-packages/numpy/core/include -I/usr/local/include -Ibuild/src -I./src -I./include -I/usr/local/cuda/include -gencode arch=compute_20,code=sm_20 -gencode arch=compute_20,code=sm_21 -gencode arch=compute_30,code=sm_30 -gencode arch=compute_35,code=sm_35 -c src/caffe/util/math_functions.cu -o build/src/caffe/util/math_functions.cuo

Error 1:
src/caffe/util/math_functions.cu(140): error: calling a __host__ function("std::signbit<float> ") from a __global__ function("caffe::sgnbit_kernel<float> ") is not allowed

Error 2:
src/caffe/util/math_functions.cu(140): error: calling a __host__ function("std::signbit<double> ") from a __global__ function("caffe::sgnbit_kernel<double> ") is not allowed

2 errors detected in the compilation of "/tmp/tmpxft_00003368_00000000-12_math_functions.compute_35.cpp1.ii".
make: *** [build/src/caffe/util/math_functions.cuo] Error 2
Run Code Online (Sandbox Code Playgroud)

我是新手,并不能真正弄清楚缺少什么包

python ubuntu cuda numpy caffe

0
推荐指数
1
解决办法
3713
查看次数

标签 统计

python ×3

coredump ×2

elf ×2

gdb ×2

caffe ×1

cuda ×1

image-processing ×1

numpy ×1

opencv ×1

ram ×1

set ×1

ubuntu ×1