小编tac*_*ice的帖子

istanbul-instrumenter-loader:覆盖问题与来源不匹配

我正在使用istanbul-instrumenter-loader尝试为我的未传输的es6代码生成代码覆盖率报告,虽然一切运行正常,但生成的HTML输出中报告的问题似乎与实际源不一致.

例如:

覆盖范围输出不正确

(当图像被移除)const声明有3后"if语句未覆盖",即使没有这样的语句或线后在所有的任何代码.有时"语句未覆盖"标记在字符串的中间,或对象声明中,或多个语句中等.

这是我的Karma配置文件:

module.exports = function(config) {
    config.set({
        basePath: '../../',
        frameworks: [ 'qunit' ],

        files: [
            'test/index.js',

            // Session tickets
            { pattern: 'test/tickets/*.json', watched: true, included: false, served: true }

        ],

        preprocessors: {
            'test/index.js': 'webpack'
        },
        webpack: {
            module: {
                rules: [{
                    test: /\.js$/,
                    exclude: /node_modules/,
                    loaders: ['istanbul-instrumenter-loader', 'babel-loader']
                },
                {
                    test: /\.vue$/,
                    loaders: ['vue-loader']
                },
                {
                    test: /\.png$/,
                    loaders: ['url-loader']
                }]
            }
        },
        reporters: [ 'coverage-istanbul', 'progress' ],
        coverageIstanbulReporter: {
            type: 'html',
            dir: …
Run Code Online (Sandbox Code Playgroud)

ecmascript-6 karma-runner istanbul webpack

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

VS2012:调试器启动时ntdll.dll中的断点没有更多信息

偶尔当我使用VS2012在调试模式下启动/调试我的应用程序时,我会得到一个对话框:

<blahblah.exe>触发了一个断点.

它不包含任何其他信息,所以我打破了看看发生了什么.哦,但后来我得到"wntdll.pdb没有加载",没有关于这个问题的其他信息.调用堆栈指向ntdll.dll,此时我的应用程序还没有开始执行.

此时选择continue将使应用程序/调试器像往常一样继续.

这种情况经常发生(大约7次发射中的10次).我正在运行Windows 8(64位)和带有更新1的Visual Studio 2012.

以前我有Windows 7(64位)和VS2010,从来没有遇到过这个问题.此特定项目已从(2010年)创建的版本升级,因此可能是问题的一部分.

有人遇到过这个问题吗?我不知道从哪里开始寻找原因.虽然我正在运行64位Windows,但我应该提到我正在构建一个32位应用程序.

更新: 启用Microsoft符号服务器后,这是调用堆栈的样子:

>   ntdll.dll!_LdrpDoDebuggerBreak@0()  Unknown
    ntdll.dll!_LdrpInitializeProcess@8()    Unknown
    ntdll.dll!__LdrpInitialize@8()  Unknown
    ntdll.dll!_LdrpInitialize@8()   Unknown
    ntdll.dll!_LdrInitializeThunk@8()   Unknown
Run Code Online (Sandbox Code Playgroud)

我还应该添加,以防万一,我在代码中的任何地方都没有设置断点.

c++ windows debugging windows-8 visual-studio-2012

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

Boost.Build/bjam和Qt

我正在尝试设置一个Boost.Build .jamroot文件来编译Qt 4.8项目,但它似乎忽略了.ui文件和应该是moc:ed的.cpp文件.我尝试在qt4.jam内部进行探索,添加更多的ECHO:s,但我不确定在哪里看.

例如,似乎uic-generator的run方法没有被调用(init确实),但我认为它应该是.

我的jamroot文件看起来像这样:

import qt4 ;
if ! [ qt4.initialized ]
{
    ECHO "oh nooo" ;
}
import cast ;

exe application :
    # For example
    [ cast _ moccable-cpp : ./src/something.cpp ] 
    [ glob-tree *.ui  : .svn ] 
    ;
Run Code Online (Sandbox Code Playgroud)

我得到的唯一输出是:

>bjam
warn: Unable to construct ./application
...found 1 target...
Run Code Online (Sandbox Code Playgroud)

如果我运行bjam --debug-configuration,qt4.jam会打印出我的Qt安装的所有正确路径.

这是怎么回事?也许它与Qt 4.8不兼容?或者我只是错误地使用它?虽然代码几乎逐字地取自examples/qt下的文件.

我怎么用呢?谢谢你的帮助.

编辑:使用gcc 4.7和http://nuwen.net/mingw.html中的MinGW发行版9.0 ,以及Boost 1.49.0附带的Boost.Build.

c++ qt boost-build bjam

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

如何在 Safari 上隐藏 ::cue 伪元素的背景?

我正在尝试隐藏视频元素上的字幕:

没有css的字幕

我正在使用以下 css:

video::cue { visibility: hidden; }

它在 Chrome 中运行良好,但在 Safari 上它只隐藏文本,并且仍然呈现标题背景,如下所示:

可见性标题:隐藏

我也尝试添加background: none,但没有变化。除了以编程方式修改文本轨道列表之外,我还能如何在 Safari 上隐藏字幕?这可能是 Safari 的错误吗?

html css safari

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

Luabind:无法返回 shared_ptr

我试图从与 Luabind 绑定的方法返回一个 std::shared_ptr,但它似乎无法识别类型。

Luabind 代码:

module(lua)
[
    class_<Character, BaseEntity, std::shared_ptr<Character> > ("Character"),
        def("createCharacter", &Character::createCharacter)
];
Run Code Online (Sandbox Code Playgroud)

创建字符代码:

std::shared_ptr<Character> Character::createCharacter(Game* gameInstance, const Character::CharacterSetup& characterSetup, string sprite, b2World* world)
{
    return std::shared_ptr<Character>(new Character(gameInstance, characterSetup, sprite, world));
}
Run Code Online (Sandbox Code Playgroud)

如果我在 Lua 脚本中调用此方法,则不会返回任何内容,并在那里停止执行。但是,如果我更改方法以返回 Character*,它会按预期工作。一些谷歌搜索告诉我返回一个 shared_ptr 应该不是问题。

我究竟做错了什么?

另外,我有这个代码,所以 Luabind 可以理解 std::shared_ptr:

namespace luabind
{
    template <typename T>
    T* get_pointer(std::shared_ptr<T> const& p)
    {
        return p.get();
    }
}
Run Code Online (Sandbox Code Playgroud)

c++ lua shared-ptr luabind

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