代码覆盖分析能在请求时让你知道脚本哪一行(或哪一段)在执行。
相关设置
xdebug.coverage_enable
类型: boolean, 默认值: 1, 始于
Xdebug >= 2.2
如果设为0, Xdebug不会设置内置结构来允许代码分析,这能加速xdebug快些,不过代码覆盖分析将不会工作。
相关函数
boolean xdebug_code_coverage_started()
返回布尔值查看代码覆盖分析是否已经开始。
Example:
<span style="color: #000000;">php </span><span style="color: #008080;">var_dump</span><span style="color: #000000;">(xdebug_code_coverage_started()); xdebug_start_code_coverage(); </span><span style="color: #008080;">var_dump</span><span style="color: #000000;">(xdebug_code_coverage_started()); </span>?>
Returns:
bool(false)
bool(true)
array xdebug_get_code_coverage()
返回一结构包含脚本哪一行(包括引用文件)在执行。以下展示代码覆盖指定某一文件示例:
Example:
<span style="color: #000000;">php xdebug_start_code_coverage(); </span><span style="color: #0000ff;">function</span> a(<span style="color: #800080;">$a</span><span style="color: #000000;">) { </span><span style="color: #0000ff;">echo</span> <span style="color: #800080;">$a</span> * 2.5<span style="color: #000000;">; } </span><span style="color: #0000ff;">function</span> b(<span style="color: #800080;">$count</span><span style="color: #000000;">) { </span><span style="color: #0000ff;">for</span> (<span style="color: #800080;">$i</span> = 0; <span style="color: #800080;">$i</span> $count; <span style="color: #800080;">$i</span>++<span style="color: #000000;">) { a(</span><span style="color: #800080;">$i</span> + 0.17<span style="color: #000000;">); } } b(</span>6<span style="color: #000000;">); b(</span>10<span style="color: #000000;">); </span><span style="color: #008080;">var_dump</span><span style="color: #000000;">(xdebug_get_code_coverage()); </span>?>
Returns:
array
'/home/httpd/html/test/xdebug/docs/xdebug_get_code_coverage.php' =>
array
5 => int 1
6 => int 1
7 => int 1
9 => int 1
10 => int 1
11 => int 1
12 => int 1
13 => int 1
15 => int 1
16 => int 1
18 => int 1
void xdebug_start_code_coverage( [int options] )
开始代码覆盖分析
该函数开始收集代码覆盖信息。该信息由二维数组形成,一维索引为执行文件名二级索引为行号。元素值表示该行是否被执行或它拥有未能到达的行。
每行返回的值:
- 1: 该行已执行过
- -1: 该行未被执行
- -2: 该行没有可执行的代码
-1 值只有在 XDEBUG_CC_UNUSED 开启后才会返回,而 -2 值只有XDEBUG_CC_UNUSED 和 XDEBUG_CC_DEAD_CODE 同时开启才会返回。
函数有两个以枚举值的选项:
XDEBUG_CC_UNUSED
开启检测代码并说明哪行为可执行代码。无此项则返回的数组只包含实际执行过的行号。
XDEBUG_CC_DEAD_CODE
开始额外的分析说明哪些代码能被执行。
如果开启这些选项执行大幅减慢代码覆盖分析速度。
以下示例展示如何使用选项:
Example:
<span style="color: #000000;">php xdebug_start_code_coverage( XDEBUG_CC_UNUSED </span>|<span style="color: #000000;"> XDEBUG_CC_DEAD_CODE ); </span>?>
void xdebug_stop_code_coverage( [int cleanup=true] )
停止代码覆盖分析
该函数停止收集信息,该信息在内存中会被清除。如果你传递“false”参数,则代码覆盖信息不会被清除而能让你再次使用 xdebug_start_code_coverage() 恢复信息收集。

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

드림위버 CS6
시각적 웹 개발 도구

SecList
SecLists는 최고의 보안 테스터의 동반자입니다. 보안 평가 시 자주 사용되는 다양한 유형의 목록을 한 곳에 모아 놓은 것입니다. SecLists는 보안 테스터에게 필요할 수 있는 모든 목록을 편리하게 제공하여 보안 테스트를 더욱 효율적이고 생산적으로 만드는 데 도움이 됩니다. 목록 유형에는 사용자 이름, 비밀번호, URL, 퍼징 페이로드, 민감한 데이터 패턴, 웹 셸 등이 포함됩니다. 테스터는 이 저장소를 새로운 테스트 시스템으로 간단히 가져올 수 있으며 필요한 모든 유형의 목록에 액세스할 수 있습니다.

PhpStorm 맥 버전
최신(2018.2.1) 전문 PHP 통합 개발 도구

ZendStudio 13.5.1 맥
강력한 PHP 통합 개발 환경

SublimeText3 Linux 새 버전
SublimeText3 Linux 최신 버전
