我正在尝试调试CUDA程序,但是当我gdb这样启动时:
$ gdb -i=mi <program name>
$ r <program arguments>
Run Code Online (Sandbox Code Playgroud)
我越来越:
/home/wvxvw/Projects/cuda/exercise-1-udacity/cs344/HW2/hw:
error while loading shared libraries: libcudart.so.5.0:
cannot open shared object file: No such file or directory
Process gdb-inferior killed
Run Code Online (Sandbox Code Playgroud)
(为便于阅读而格式化)
(我正在运行gdb使用M-xgdb)如果这很重要,那么CUDA库就在.bashrc
export PATH="/usr/local/cuda/bin:$PATH"
export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/usr/local/cuda/lib64"
Run Code Online (Sandbox Code Playgroud)
Emp*_*ian 20
加载共享库时出错:libcudart.so.5.0
此错误与GDB无关:从GDB内部运行时,您的可执行文件无法找到所需的库.
export LD_LIBRARY_PATH ="$ LD_LIBRARY_PATH:/ usr/local/cuda/lib64"
GDB以新的方式运行你的程序$SHELL,所以应该有用.我想知道是否与emacs有一些互动.
在任何情况下,这:
(gdb) set env LD_LIBRARY_PATH /usr/local/cuda/lib64
(gdb) run
Run Code Online (Sandbox Code Playgroud)
应该解决这个问题.
更新:
正如我之前提到的那样,ld路径设置正确
不,不是.如果是的话,你就没有问题.
现在,我不知道为什么没有正确设置.如果你真的想知道,首先在emacs之外运行GDB(以排除可能的emacs交互).
如果问题仍然存在,gdb show env,shell env添加echo "Here"到您的~/.basrc等等应该可以帮助您找到事情无法正常工作的地方.
| 归档时间: |
|
| 查看次数: |
24712 次 |
| 最近记录: |