首页 > 其他 > 详细

Qt无法调试Qvector

时间:2018-06-08 21:11:23      阅读:274      评论:0      收藏:0      [点我收藏+]

现象:技术分享图片

解决:

打开文件 $(VSDIR)\Common7\Packages\Debugger\autoexp.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),
            ")"
        )
    )
}

 

Qt无法调试Qvector

原文:https://www.cnblogs.com/judes/p/9157502.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!