小编Mat*_*ggs的帖子

LLDB有时会显示矢量数据,而其他时间则不会

在大多数情况下,在调试时,如果我有一个向量(在Xcode 9中),我会看到一个表示向量中值的索引列表.

期望 在此输入图像描述

其他时候,我得到这个无益的代表:

不希望 在此输入图像描述

我无法弄清楚什么条件会导致LLDB以不合需要的方式显示向量.

问题
导致不良行为的原因是什么?可以在不重写代码的情况下修复吗?这是LLDB中的错误吗?

这是一个简短的代码示例,可以再现不需要的行为:

#include <iostream>
#include <vector>

std::vector<int> createVector()
{
    std::vector<int> v = { 1, 2, 3 };
    return v;
}

int main(int argc, const char * argv[])
{
    const auto& v = createVector();
    std::cout << v.front() << std::endl;
    return 0;
}
Run Code Online (Sandbox Code Playgroud)


以下是Xcode项目的链接:http://s000.tinyupload.com/?file_id =
21020556485232357417

c++ xcode vector lldb xcode9

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

OCaml corebuild 无法链接到 Core.Std

我的问题与此类似,但是,在我的情况下.ocamlinit已设置。

\n\n

这是我的 ocaml 版本。

\n\n
mymac:Desktop myusr$ ocaml --version\nThe OCaml toplevel, version 4.08.1\n
Run Code Online (Sandbox Code Playgroud)\n\n

这是我的 opam 版本。

\n\n
mymac:Desktop myusr$ opam --version\n2.0.5\n
Run Code Online (Sandbox Code Playgroud)\n\n

这是我的 opam 开关。

\n\n
mymac:Desktop myusr$ opam switch\n#  switch   compiler                    description\n\xe2\x86\x92  4.08.1   ocaml-base-compiler.4.08.1  4.08.1\n   default  ocaml-base-compiler.4.08.1  default\n
Run Code Online (Sandbox Code Playgroud)\n\n

这是我的.ocamlinit

\n\n
mymac:Desktop myusr$ cat ~/.ocamlinit\n(* ## added by OPAM user-setup for ocamltop / base ## 3ec62baf6f9c219ae06d9814069da862 ## you can edit, but keep this line *)\n#use "topfind";;\n(* ## end of OPAM user-setup addition …
Run Code Online (Sandbox Code Playgroud)

ocaml ocamlbuild

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

使用std :: unique_ptr的C++ Pimpl Idiom Incomplete Type

我为证明问题所需的大量代码道歉.我在使用带有std :: unique_ptr的pimpl习惯用法时遇到了问题.具体地说,当一个类(具有pimpl'ed实现)被用作具有pimpl'ed实现的另一个复合类中的成员数据时,似乎会出现问题.

我能够找到的大部分答案都是缺少明确的析构函数声明,但正如你在这里看到的,我已经声明并定义了析构函数.

这段代码有什么问题,可以修改它来编译而不改变设计吗?

注意:错误似乎发生在SomeComposite :: getValue()的定义中,并且编译器在编译时才能看到错误.在memory.h中遇到错误,消息是'sizeof'的无效应用程序到不完整类型'pimplproblem :: SomeInt :: impl'.

SomeInt.h

#pragma once
#include <iostream>
#include <memory>

namespace pimplproblem
{
    class SomeInt
    {

    public:
        explicit SomeInt( int value );
        SomeInt( const SomeInt& other ); // copy
        SomeInt( SomeInt&& other ) = default; // move
        virtual ~SomeInt();
        SomeInt& operator=( const SomeInt& other ); // assign
        SomeInt& operator=( SomeInt&& other ) = default; // move assign
        int getValue() const;

    private:
        class impl;
        std::unique_ptr<impl> myImpl;
    };
} …
Run Code Online (Sandbox Code Playgroud)

c++ pimpl-idiom unique-ptr incomplete-type c++11

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

tfpt scorch和tfpt treeclean有什么区别

这两个命令有什么区别?

tfpt scorch /deletes /recursive /noprompt
tfpt treeclean /recursive /noprompt
Run Code Online (Sandbox Code Playgroud)

tfs tfs-power-tools tfs-2015

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

在 Xcode 9 中的选择中查找和替换

我一直在选择中使用查找和替换。这对我的工作流程至关重要。它似乎从 Xcode 9 中消失了。这是通过在选择所需文本后按住选项键来实现的。选项键会将replace按钮的上下文更改为replace in selection。这似乎不再可用。

在选择中查找和替换的功能是否真的从 Xcode 9 中消失了?如果没有,我该如何使用它?

编辑:为了它的价值,我在这里发布了一个错误报告。

编辑 2:这是我按住选项键的定时屏幕抓取。 在此处输入图片说明

编辑 3:我的 Xcode 版本是 9.1 (9B55),9.2 以下的人没有这个问题,也许它已在 9.2 beta 中修复。

xcode9

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

Unable to Prepare a Postgres Statement in Java (java.sql.PreparedStatement)

Consider two statements that I may want to send to my server from Java.

  1. Simple SQL: This is a typically insert statement.
insert into table_things (thing_1_value, thing_2_value) values(?, ?);
Run Code Online (Sandbox Code Playgroud)
  1. PlPgSQL: I want to avoid round-trips to the database by doing some login in the database. We are not allowed to use stored procedures or functions in the database (the reasons are seem valid).
do $$
declare
    my_thing1 varchar(100) = ?;
    my_thing2 varchar(100) = ?;
begin
    insert into table_things …
Run Code Online (Sandbox Code Playgroud)

java postgresql plpgsql prepared-statement

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

将Sublime 3的Python Build更改为使用py而不是python作为命令

我在Windows 7机器上使用Python 3.4和Sublime Text 3.

如果我转到cmd提示符并键入

python 
Run Code Online (Sandbox Code Playgroud)

我明白了

'python' is not recognized as an internal or external command...
Run Code Online (Sandbox Code Playgroud)

如果我输入

py
Run Code Online (Sandbox Code Playgroud)

它有效,我得到了

Python 3.4.3 (v3.4.3:9b73f1c3e601, Feb 24 2015, 22:44:40) [MSC v.1600 64 bit (AMD64)] on win32 Type "help", "copyright", "credits" or "license" for more information.
Run Code Online (Sandbox Code Playgroud)

当我使用Sublime 3 build命令时,它会发出命令

python -u "C:\Whatever\MyPythonFile.py"
Run Code Online (Sandbox Code Playgroud)

哪个不起作用.显然我需要Sublime Text 3在构建时使用命令'py'而不是'python'.

我需要采取哪些具体步骤来更改Sublime Text 3以使用build命令在我的环境中运行python脚本?

我已经搜索了很长一段时间,我所能找到的是如何将python目录添加到PATH的说明,这似乎不是我的问题.

python python-3.x sublimetext3

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

无法捕获std :: runtime_error

也许我今天没有喝足够的咖啡.以下程序应该捕获std :: runtime_error并打印"我捕获了runtime_error",对吧?

它不是.这个程序没有捕获std :: runtime_error,而是打印"为什么我无法捕获runtime_error"?

我在这做错了什么?为什么我没有捕获std :: runtime_error?

这是Clang(参见下面代码的环境信息).

#include <iostream>
#include <exception>

int main(int argc, const char * argv[])
{
    try
    {
        throw new std::runtime_error( "a runtime_error was thrown" );
    }
    catch ( const std::runtime_error& e )
    {
        std::cout << "i caught the runtime_error" << std::endl;
    }
    catch ( ... )
    {
        std::cout << "why was i unable to catch the runtime_error?" << std::endl;
    }
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

OS X 10.9.5上的Xcode 5.1.1

comp:~ usrn$ clang --version
Apple LLVM …
Run Code Online (Sandbox Code Playgroud)

c++ exception-handling exception c++11

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