小编Phi*_*p F的帖子

PyCharm 2019.2未在异常上显示回溯

非常简单的最小示例:

if __name__ == '__main__':
    print("Still ok")
    raise Exception("Dummy exception")
    print("End of Program")
Run Code Online (Sandbox Code Playgroud)

我在使用Python 3.6的PyCharm 2019.2调试器中运行它时得到以下输出:

/usr/bin/python3.6 /home/[...]/pycharm-community-2019.2/helpers/pydev/pydevd.py --multiproc --qt-support=auto --client 127.0.0.1 --port 46850 --file /home/[...]/test_traceback.py
pydev debugger: process 18394 is connecting

Connected to pydev debugger (build 192.5728.105)
Still ok
Run Code Online (Sandbox Code Playgroud)

此时,调试器中断了执行流程,但调试器控制台中未显示Traceback和Exception消息。如果我在PyCharm 2018.1中运行相同的代码,则在命中断点时确实显示了这些权利。

当我打 继续,我得到了所需的输出,但是由于该过程结束,因此我再也无法在调试上下文中运行代码:

Traceback (most recent call last):
  File "/home/[...]/pycharm-community-2019.2/helpers/pydev/pydevd.py", line 2060, in <module>
    main()
  File "/home/[...]/pycharm-community-2019.2/helpers/pydev/pydevd.py", line 2054, in main
    globals = debugger.run(setup['file'], None, None, is_module)
  File "/home/[...]/pycharm-community-2019.2/helpers/pydev/pydevd.py", line 1405, …
Run Code Online (Sandbox Code Playgroud)

python debugging pycharm

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

绑定的CUDA纹理读数为零

我尝试从纹理中读取值并将它们写回全局内存.我确信写入部分有效,因为我可以在内核中放置常量值,我可以在输出中看到它们:

__global__ void
bartureKernel( float* g_odata, int width, int height) 
{
    unsigned int x = blockIdx.x*blockDim.x + threadIdx.x;
    unsigned int y = blockIdx.y*blockDim.y + threadIdx.y;

    if(x < width && y < height) {
            unsigned int idx = (y*width + x);
            g_odata[idx] = tex2D(texGrad, (float)x, (float)y).x;

    }
}
Run Code Online (Sandbox Code Playgroud)

我想要使​​用的纹理是具有两个通道的2D浮动纹理,因此我将其定义为:

texture<float2, 2, cudaReadModeElementType> texGrad;
Run Code Online (Sandbox Code Playgroud)

调用内核的代码使用一些常量非零值初始化纹理:

float* d_data_grad = NULL;

cudaMalloc((void**) &d_data_grad, gradientSize * sizeof(float));
CHECK_CUDA_ERROR;

texGrad.addressMode[0] = cudaAddressModeClamp;
texGrad.addressMode[1] = cudaAddressModeClamp;
texGrad.filterMode = cudaFilterModeLinear;
texGrad.normalized = false;

cudaMemset(d_data_grad, 50, gradientSize * sizeof(float)); …
Run Code Online (Sandbox Code Playgroud)

textures cuda 2d

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

MATLAB:如何在parfor中设置随机种子以产生与序列相同的结果?

我设置了以下最小的例子:

rng(0);

randseedoffset = random('unid', 10^5) + 1;

t = cell(10,1);
for i = 1:10
    rng(randseedoffset+i);
    t{i} = random('unid', 1000);
end

disp(t);
Run Code Online (Sandbox Code Playgroud)

这将生成10个随机数并存储它们t.它将始终可靠地生成相同的随机数,因为我rng在for循环中设置了种子.

如果我现在改forparfor,我得到不同的结果!虽然它们也总是可以重现的.

我想用parfor加速我的代码并仍然获得与...相同的完全相同的随机数

random parallel-processing matlab parfor

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

Matlab自定义dbstop处理程序

我知道人们已经讨论了如何制作自定义dbstop条件,(例如在MATLAB自定义dbstop)

但是,我正在使用正常dbstop if error,我想知道(来自另一个进程)matlab进程当前是处于调试状态(K>>)还是正常运行.

如果我有自定义dbstop处理函数,我可以这样做.但我仍然希望能够像平常一样进行动手调试dbstop if error.

如果还有其他可能从外部(>>vs K>>)检测matlab的状态,我也很高兴!

让我知道任何想法;)

debugging matlab dbstop

5
推荐指数
2
解决办法
366
查看次数

本地用户的远程Linux空闲时间

我正在寻找一种方法来通过SSH远程确定本地输入(鼠标/键盘)空闲时间,而无需root访问权限或访问当前登录的用户Xauthority.

我知道以下解决方案,如果您有权访问X服务器: 在linux中检测键盘,鼠标活动

但是没有必要连接到X服务器是否可能?还有另外一种方法吗?例如,通过某些进程的CPU或内存使用间接?欢迎任何想法.

linux input idle-timer

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