在大多数情况下,在调试时,如果我有一个向量(在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
我的问题与此类似,但是,在我的情况下.ocamlinit已设置。
这是我的 ocaml 版本。
\n\nmymac:Desktop myusr$ ocaml --version\nThe OCaml toplevel, version 4.08.1\nRun Code Online (Sandbox Code Playgroud)\n\n这是我的 opam 版本。
\n\nmymac:Desktop myusr$ opam --version\n2.0.5\nRun Code Online (Sandbox Code Playgroud)\n\n这是我的 opam 开关。
\n\nmymac: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\nRun Code Online (Sandbox Code Playgroud)\n\n这是我的.ocamlinit:
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) 我为证明问题所需的大量代码道歉.我在使用带有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) 这两个命令有什么区别?
tfpt scorch /deletes /recursive /noprompt
tfpt treeclean /recursive /noprompt
Run Code Online (Sandbox Code Playgroud) 我一直在选择中使用查找和替换。这对我的工作流程至关重要。它似乎从 Xcode 9 中消失了。这是通过在选择所需文本后按住选项键来实现的。选项键会将replace按钮的上下文更改为replace in selection。这似乎不再可用。
在选择中查找和替换的功能是否真的从 Xcode 9 中消失了?如果没有,我该如何使用它?
编辑:为了它的价值,我在这里发布了一个错误报告。
编辑 3:我的 Xcode 版本是 9.1 (9B55),9.2 以下的人没有这个问题,也许它已在 9.2 beta 中修复。
Consider two statements that I may want to send to my server from Java.
insert into table_things (thing_1_value, thing_2_value) values(?, ?);
Run Code Online (Sandbox Code Playgroud)
do $$
declare
my_thing1 varchar(100) = ?;
my_thing2 varchar(100) = ?;
begin
insert into table_things …Run Code Online (Sandbox Code Playgroud) 我在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的说明,这似乎不是我的问题.
也许我今天没有喝足够的咖啡.以下程序应该捕获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++ ×3
c++11 ×2
xcode9 ×2
exception ×1
java ×1
lldb ×1
ocaml ×1
ocamlbuild ×1
pimpl-idiom ×1
plpgsql ×1
postgresql ×1
python ×1
python-3.x ×1
sublimetext3 ×1
tfs ×1
tfs-2015 ×1
unique-ptr ×1
vector ×1
xcode ×1