小编Siy*_*Ren的帖子

如何使用Intellij Idea的异常断点

这似乎是一个愚蠢的问题,但我无法弄清楚如何在Intellij Idea中调试异常.谷歌搜索也没有帮助.

我尝试创建异常断点.当IDEA中断时,我希望它给我一个调用堆栈,显示导致抛出异常的方法以及自动监视窗口,就像Visual Studio的调试工具一样.相反,它列出了所有关于乱码消息LauncherClassLoader,但在运行时没有实际的异常的迹象.

那么IDEA的异常断点究竟应该如何使用呢?

java debugging exception intellij-idea

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

libc ++的`std :: make_heap`的实现是不一致的

编辑:这不是问如何做std::make_heapO(n)方式,而是这个特定的实现是否确实是O(n)

在O(n)时间内构建堆的教科书方法是从下到上依次构建堆.但是std::make_heap在我的Mac机器上用libc ++实现的是

template <class _RandomAccessIterator, class _Compare>
inline _LIBCPP_INLINE_VISIBILITY
void
make_heap(_RandomAccessIterator __first, _RandomAccessIterator __last, _Compare __comp)
{
#ifdef _LIBCPP_DEBUG
    typedef typename add_lvalue_reference<__debug_less<_Compare> >::type _Comp_ref;
    __debug_less<_Compare> __c(__comp);
    __make_heap<_Comp_ref>(__first, __last, __c);
#else  // _LIBCPP_DEBUG
    typedef typename add_lvalue_reference<_Compare>::type _Comp_ref;
    __make_heap<_Comp_ref>(__first, __last, __comp);
#endif  // _LIBCPP_DEBUG
}
Run Code Online (Sandbox Code Playgroud)

在哪里__make_heap定义为

template <class _Compare, class _RandomAccessIterator>
void
__make_heap(_RandomAccessIterator __first, _RandomAccessIterator __last, _Compare __comp)
{
    typedef typename iterator_traits<_RandomAccessIterator>::difference_type difference_type;
    difference_type __n = __last - __first;
    if (__n > 1)
    {
        __last …
Run Code Online (Sandbox Code Playgroud)

c++ stl llvm clang libc++

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

广度优先搜索:检查访问状态的时间

在有向图的广度优先搜索中(可能的循环),当节点出列时,其尚未被访问的所有子节点都被排队,并且该过程继续,直到该队列为空.

有一次,我以相反的方式实现它,其中所有节点的子节点都被排队,并且当节点出列时检查访问状态.如果之前已访问过出队的节点,则将其丢弃,并且该过程继续到队列中的下一个节点.

但结果是错误的.维基百科也说

深度优先搜索......非递归实现类似于广度优先搜索,但在两个方面与它不同:它使用堆栈而不是队列,并延迟检查是否已发现顶点顶点从堆栈中弹出,而不是在按下顶点之前进行此检查.

但是,我无法理解究竟是什么区别.为什么在弹出项目时首先进行深度搜索检查,并且排队之前必须检查广度优先搜索?

language-agnostic algorithm graph

11
推荐指数
2
解决办法
1875
查看次数

为什么opencv的HOG描述符返回了这么多的值

我正在尝试使用OpenCV的HOG描述符,但是从它计算的特征向量似乎太长了.这是一个演示问题的片段:

#include <stdio.h>
#include <opencv2/opencv.hpp>
#include <stdlib.h>
#include <vector>

int main()
{
    cv::Mat image = cv::imread("1.jpg");
    std::vector<float> features;
    cv::HOGDescriptor hogdis;
    hogdis.compute(image, features);
    printf("HOG feature's length is %zu %zu\n", hogdis.getDescriptorSize(), features.size());
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

输出是

HOG feature's length is 3780 1606500
Run Code Online (Sandbox Code Playgroud)

后一个价值似乎很荒谬.图像的1.jpg尺寸为256x256x3,其像素比特征向量少得多.为什么OpenCV用如此多的值填充特征向量?如何获取3780长矢量以供给我的SVM培训师?

c++ opencv computer-vision

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

MSVC的C运行时中的POSIX函数是什么?

今天我偶然发现了MSDN关于Visual C++的C运行时的文档(例如:http://msdn.microsoft.com/en-us/library/8syseb29.aspx),让我惊讶的是很多看起来像POSIX系统调用的函数:dup2,fdopen,stat,execlp,...,除了与被前缀__w.这些函数只是Windows API的包装器吗?它们只适用于POSIX子系统吗?他们被弃用/将被弃用吗?

c winapi visual-studio visual-c++

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

来自子进程的ipython笔记本输出

使用ipython notebook时,生成的子进程的输出subprocess永远不会出现在笔记本本身中.例如,这个单元格

import subprocess
subprocess.check_call(['echo', 'hello'])
Run Code Online (Sandbox Code Playgroud)

仅显示0为输出,并hello打印在启动ipython的终端上.

是否有任何配置参数我可以调整,以便子进程的输出显示在笔记本本身?


实际上,自定义python c扩展也会吞下它们的输出.有什么问题吗?

python ipython ipython-notebook

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

如何测试是否支持稀疏文件

给定文件描述符或文件名,如何知道是否可以写入任意位置而无需等待介入部分在磁盘上显式清零?

unix filesystems io posix sparse-file

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

指针算术和整体推广

在表达式中p + a,哪里p是指针类型并且a是一个整数,整数提升规则是否适用?例如,如果a是a char,在64位机器上它肯定会被扩展到64位,然后再添加到指针值(在编译的程序集中),但它是否由标准指定?什么会被提升?int,intptr_t还是ptrdiff_t?什么会unsigned charsize_t转换为?

c c++ standards pointers

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

如何解决clang的Python绑定加载错误?

我正在尝试针对 clang 的 Python 绑定。我homebrew在 Mac OS X Maverics 上使用命令行安装了 LLVM 及其 python 绑定

 brew install llvm --with-clang --with-python --with-lld
Run Code Online (Sandbox Code Playgroud)

加载代码是

import clang
import clang.cindex

clang.cindex.Config.set_library_path('/usr/local/Cellar/llvm/3.5.0/lib')
index = clang.cindex.Index.create()
Run Code Online (Sandbox Code Playgroud)

但这会引发错误:

clang.cindex.LibclangError: dlopen(/usr/local/Cellar/llvm/3.5.0/lib/libclang.dylib, 6): 库未加载:@rpath/libLLVM-3.5.dylib 引用自:/usr/local/ Cellar/llvm/3.5.0/lib/libclang.dylib 原因:找不到图像。要提供 libclang 的路径,请使用 Config.set_library_path() 或 Config.set_library_file()。

但我不明白为什么会出现这个错误。@rpath这里不是指/usr/local/Cellar/llvm/3.5.0/lib吗?但有一个名为libLLVM-3.5.dylib该目录下。为什么此加载会导致错误以及如何修复它?

c++ python macos dll clang

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

TUI模式下的GDB:如何处理stderr与ui的交互

我正在尝试使用 gdb 调试caffe。我更喜欢使用 tui 模式,因为它允许我查看整个源代码而不仅仅是一行。但是有一个问题:每当程序caffe在 上输出一些东西时stderr,输出就会扭曲 tui 界面。有关说明,请参阅以下快照:

普通的

当 stderr 有输出时

这是 gdb tui 的固有限制还是有什么办法可以解决这个问题?

gdb tui command-line-interface

6
推荐指数
2
解决办法
1544
查看次数