小编jhf*_*ntz的帖子

替代valgrind(memcheck)来查找linux上的泄漏?

我有一个linux x86应用程序,它使用各种第三方共享对象库.我怀疑这些库正在泄漏​​内存(因为它不可能是我的代码;-)

我尝试了值得信赖的Valgrind的,但因为死了可怕的死亡第三方库之一是使用一个不起眼的x86指令Valgrind的未实现.

我找到了DUMA的推荐并尝试了一下(使用LD_PRELOAD技术在运行时引入DUMA),但它中止抱怨没有通过DUMA分配的内存上的自由操作(几乎可以肯定是由某些构造函数前面提到的第三方库中的静态对象).

是否有其他运行时可链接(或者不需要重新编译/重新链接)的工具可以在linux上运行?

linux valgrind memory-leaks

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

如何收集 gitlab 管道中所有作业的日志?

我有一些 gitlab CI管道,其中包含数十个作业 - 有时我需要找到可能出现在作业中的内容,但不知道是哪个作业。我可以在 Web 界面中手动选择每个作业并查看关联的日志,但为每个作业执行此操作是不可行的。

有没有某种方法(最好是作为非特权 gitlab 用户)来检索/聚合给定管道的所有作业的输出?

如果重要的话,我使用的是 12.5.X-ee 版本。

logging gitlab gitlab-ci

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

将.mat文件中的变量加载到不同名称的变量中

假设我有一个.mat文件,其中包含几个相同结构的实例,每个实例都有一个不同的变量名.

我想处理文件中找到的每个实例(我发现使用whos('-file' ...).我希望load能让我指定一个变量的目的地名称,这样我就不用担心碰撞了(因此我不必编写自修改代码eval).

执行此操作的强力方法似乎是创建一个辅助函数,使用名称希望与.mat内容不冲突的变量,可以执行以下操作:

  1. 是否whos在文件上获取包含的名称.
  2. 迭代加载每个包含的结构.
  3. 用于eval将加载的结构分配到单元数组中(其中数组的一列包含.mat文件的结构名称,而相应的列包含.mat文件中每个结构的实际内容).

有没有更优雅的方式来完成同样的事情?

reflection file-io matlab

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

如何强制git提示输入凭据?

几周前(迷雾笼罩),我需要对托管在github上的内容进行一些更改。我被一个比我了解更多的人(SWKMTM)指导我通过电话准确键入要配置,下拉,修改,后退然后激活的内容。其中一部分涉及向git我发出称为SWKMTM的指令。

既然我已经有时间学习一些关于git / github的知识(以及回忆起我的github登录信息),我已经回过头来尝试用我的身份用客户端计算机(la git config --global user.namegit config --global user.email)上的SWKMTM代替。完成此操作后,我可以执行与以前相同的更新活动。但是,尚未提示我输入我的github密码(即,没有要求输入我的github密码)。我假设已经缓存了一些将我标识为SWKMTM的东西(并且我必须在更早的雾中做了一些事情,涉及到输入SWKMTM的github密码)-是在本地还是通过隐式发送我的SSH公钥。

我徒劳地搜索了。* rc文件和配置目录,以查找与SWKMTM相关联的类似于凭证的任何内容(以希望分发所述凭证并强制git提示输入新的凭证)。同样,我也无法在github上找到任何可以告诉您是否存在某种公钥别名(以及如何清除公钥)的东西。

我还尝试任何凭据帮助程序的建议“ git config -l”,但均未找到。

我怎样才能迫使github忘记我一直伪装成SWKMTM?

[旁注:这是在MacOS上,在配置文件中没有表明使用credential-osxkeychain的指示。仅在使用GIT_TRACE=1推送之后,凭证的存储位置才明显。]

git authentication macos github

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

在Matlab/Octave中从向量中识别(和移除)序列

我试图从Matlab(或Octave)中的数字向量中修剪任何长度为3或更长的序列.例如,给定的矢量数据集,

dataSet = [1 2 3 7 9 11 13 17 18 19 20 22 24 25 26 28 30 31];
Run Code Online (Sandbox Code Playgroud)

删除长度为3或更长的所有序列将产生prunedDataSet:

prunedDataSet = [7 9 11 13 22 28 30 31 ];
Run Code Online (Sandbox Code Playgroud)

我可以强制解决方案,但我怀疑使用向量/矩阵操作有一种更简洁(也许是有效)的方法,但我总是对某些东西产生索引或所述索引的值感到困惑.建议?

这是我提出的蛮力方法:

dataSet = [1 2 3 7 9 11 13 17 18 19 20 22 24 25 26 28 30 31];
benign = [];
for i = 1:size(dataSet,2)-2;
    if (dataSet(i) == (dataSet(i+1)-1) && dataSet(i) == dataSet(i+2)-2);
        benign = [benign i ] ;
    end;
end; …
Run Code Online (Sandbox Code Playgroud)

matlab octave

4
推荐指数
1
解决办法
1475
查看次数

使用过滤功能生成缺失数据

我有通过filter()函数提供的数据向量 - 所述过滤器被构造为发出原始信号的合理近似值,然后用于识别原始数据中的"坏"元素(所述元素通常由不常见的短时传感器故障,与良好的数据完全不同).在确定了这些不良元素后,我想回去用合理的东西替换它们.

一种方法是用过滤后的输出替换坏值; 但是,输出是使用坏值生成的,因此它会产生一些不希望的失真.

理想情况下,我想告诉filter()假设坏元素[s]缺失,并且应该生成缺失值[s]的合理插值(例如,基于周围的值和在构造输出时使用的过滤器的属性.

我被告知某些工具箱允许插入特殊值(例如,NaN)以指示丢失(但假设是良好的)数据.

我查看了Octave的filter()的源代码,没有任何明显的消息传递给我 - 是否有一个特殊值(或其他机制)告诉filter()假设缺少行为良好的数据(并且应该插入需要的话)?

matlab octave

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