• Qt无法调试Qvector


    现象:

    解决:

    打开文件 $(VSDIR)Common7PackagesDebuggerautoexp.dat (VSDIR是本机Visual Studio的安装目录)
    把定义QVector和QMap显示内容的语句改成以下语句

    ;------------------------------------------------------------------------------
    ; QVector, QStack
    ;------------------------------------------------------------------------------
    QVector<*>|*::QVector<*>|QStack<*>|*::QStack<*>{
        preview
        (
            #if ($c.d->size <= 10) (
                #(
                    "[", $c.d->size, "](",
                    #array
                    (
                        expr: (($T1*)((char*)($c.d)+ $c.d->offset))[$i],
                        size: $c.d->size
                    ), ")"
                )
            ) #else (
                #(
                    "[", $c.d->size, "](",
                    #array
                    (
                        expr: (($T1*)((char*)($c.d)+ $c.d->offset))[$i],
                        size: $c.d->size
                    ), ", ...)"
                )
            )
        )
        children
        (
            #array
            (
                expr: (($T1*)((char*)($c.d)+ $c.d->offset))[$i],
                size: $c.d->size
            )
        )
    }
    
    ;------------------------------------------------------------------------------
    ; QMap
    ;------------------------------------------------------------------------------
    QMapNode<*,*>{
        preview
        (
            #(
                "(",
                $e.key,
                "; ",
                $e.value,
                ")"
            )
        )
    
        children
        (
            #(
                key: $e.key,
                value: $e.value
            )
        )
    }
    QMap<*>{
        children
        (
            #(
                raw data: [$c,!],
        			  #tree
    					  (
    							head: &($e.d->header),
    							size: $e.d->size,
    							left: left,
    							right: right,
    						) : ((QMapNode<$T1>*)&$e)
    						
            )
        )
    
        preview
        (
            #(
                "[",
                $e.d->size,
                "](",
    							  #tree
    							  (
    									head: &($e.d->header),
    									size: $e.d->size,
    									left: left,
    									right: right,
    								) : ((QMapNode<$T1>*)&$e),
                ")"
            )
        )
    }
  • 相关阅读:
    MYSQL router 自动均衡负载
    mysql router 自动failover测试
    Oracle数据库安装时 environment variable path 大于 1023
    windows删除多余启动引导项
    开机显示 invalid partition table
    有关软件的商业模式与软件代码的加密
    .Net 开源控件 NPlot使用小结
    41.关于Intellij IDEA菜单项中Compile、Make和Build的区别
    Maven:mirror和repository 区别
    28. Spring Boot配置方式
  • 原文地址:https://www.cnblogs.com/judes/p/9157502.html
Copyright © 2020-2023  润新知