小编Nat*_*man的帖子

当MATLAB真的很忙时怎么能打断它?

我在MATLAB中运行了一个很长的模拟,我意识到我需要停止并重新运行.但是,MATLAB真正进入了这个计算,并且它已停止响应.如何在不杀死MATLAB的情况下中断此运行?

(我意识到这是许多Windows程序的一个问题,但它对MATLAB来说非常严重.)

matlab windows-xp interrupt

34
推荐指数
4
解决办法
8万
查看次数

如何告诉valgrind memcheck forked进程?

我有一个流程x,我想检查泄漏valgrind.问题在于x运行y,y反过来运行z.我不能x独立运行因为yz设置环境x,例如环境变量,命令行开关,所需的文件x等.

  1. 有什么方法可以告诉我valgrind继续运行z但是要跟踪它找到的任何叉子并报告它们吗?
  2. 我有什么方法可以告诉你valgrind跟踪任何问题,但只报告名为的进程x吗?
  3. 有什么方法可以告诉我valgrind附加已经运行的进程,我可以用gdb做的方式吗?

我不知道这是否重要,但我在SuSE64 linux和valgrind-2.4.0下运行.

谢谢!

c c++ linux valgrind fork

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

切换到gdb中的程序集

在gdb中调试C或C++程序时是否有任何方法可以切换到程序集?(鉴于所有源文件及其相应的汇编文件都可用)

assembly gdb

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

有没有办法告诉gdb等待进程启动并附加到它?

我有一个由另一个进程调用的进程,由另一个进程调用,等等.这是一个长工具链中的子进程.

这个过程正在崩溃.

我想在gdb中捕获这个过程,以了解它崩溃的原因.但是,我能想到的唯一方法是:

  1. 在命令行中启动原始父进程.
  2. 轮询ps -C <name process I want to catch>并获得PID.
  3. 启动gdb,附加到该进程的PID.

这很麻烦但通常可以胜任.问题是当前的故障运行得非常快,当我捕获PID并启动gdb时,它已经通过了故障点.

我想启动gdb而不是:

(gdb) attach <pid>
Run Code Online (Sandbox Code Playgroud)

我想要做:

(gdb) attach <process name when it launches>
Run Code Online (Sandbox Code Playgroud)

有没有办法做到这一点?


我在linux上使用gdb 7.1

gdb

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

使用foreach或在Perl中迭代文件有什么区别?

FILE在Perl中有一个文件句柄,我想迭代文件中的所有行.以下是否有区别?

while (<FILE>) {
    # do something
}
Run Code Online (Sandbox Code Playgroud)

foreach (<FILE>) {
    # do something
}
Run Code Online (Sandbox Code Playgroud)

perl for-loop file while-loop

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

如何在没有鼠标的情况下从xterm复制文本?

我想在另一个xterm中使用从命令行运行的命令的部分输出,或者作为不同命令的一部分.例如:

> grep error error.log
error: can't find file ~/<some very long path>/thisfile
Run Code Online (Sandbox Code Playgroud)

我想这样做:

>ls ~/<some very long path>/
Run Code Online (Sandbox Code Playgroud)

我知道有两种方法可以做到这一点:
1.~/<some very long path>/用鼠标复制.
2.使用一些组合head/ tail/ awk/ sed/ perl/ cut/等..只提取了我从输出需要,然后使用内部反引号.

有没有办法在不使用鼠标的情况下复制文本?想到的例子是VIM内部的可视化模式,但我不知道如何在xterm中做到这一点.

linux keyboard command-line xterm

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

如何将二进制字符串转换为Perl中的数字?

如何将二进制字符串转换为Perl中的$x_bin="0001001100101"数值$x_num=613

binary perl

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

如何在Python中获取对象的名称?

有没有办法在Python中获取对象的名称?例如:

my_list = [x, y, z] # x, y, z have been previously defined

for bla in my_list:
    print "handling object ", name(bla) # <--- what would go instead of `name`?
    # do something to bla
Run Code Online (Sandbox Code Playgroud)

编辑:一些上下文:

我实际上在做的是创建一个我可以通过命令行指定的函数列表.

我有:

def fun1:
    pass
def fun2
    pass
def fun3:
    pass

fun_dict = {'fun1': fun1,
            'fun2': fun2,
            'fun3': fun3}
Run Code Online (Sandbox Code Playgroud)

我从命令行获取函数的名称,我想调用相关函数:

func_name = parse_commandline()

fun_dict[func_name]()
Run Code Online (Sandbox Code Playgroud)

我想拥有该函数名称的原因是因为我想创建fun_dict两次函数的名称,因为这似乎是创建错误的好方法.我想做的是:

fun_list = [fun1, fun2, fun3] # and I'll add more as the need arises

fun_dict …
Run Code Online (Sandbox Code Playgroud)

python introspection

29
推荐指数
5
解决办法
9万
查看次数

如何在Matlab或Octave中获取所有已定义变量的列表?

我习惯使用完整的GUI环境在Matlab中工作.由于许可证问题我去了并安装了Octave,但它似乎没有GUI,至少没有默认安装的GUI.

我将变量从Matlab转移到Octave,将save它们放在Matlab中并将load它们放入Octave中.事情是,我不记得这些名字,因为我习惯于在我不再拥有的小工作区窗口中看到它们.

如何在Octave中查看已定义变量及其类型的列表?

matlab octave

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

在系统verilog中打包vs unpacked向量

看一下我在System Verilog中维护的一些代码,我看到一些定义如下的信号:

node [range_hi:range_lo]x;
Run Code Online (Sandbox Code Playgroud)

和其他定义如下:

node y[range_hi:range_lo];
Run Code Online (Sandbox Code Playgroud)

据我所知,它x被定义为packed,而y被定义为unpacked.但是,我不知道这意味着什么.

System Verilog中的打包和解包矢量有什么区别?

编辑:回应@Empi的答案,为什么要在SV中编写的硬件设计师关心数组的内部表示?有没有时候我不应该不能使用打包信号?

vector system-verilog

27
推荐指数
2
解决办法
7万
查看次数