亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? datamining.html

?? JSP頁面代碼排錯
?? HTML
?? 第 1 頁 / 共 3 頁
字號:
<html><head>      <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">   <title>Chapter&nbsp;12.&nbsp;Data mining of bugs with FindBugs&#8482;</title><meta name="generator" content="DocBook XSL Stylesheets V1.71.1"><link rel="start" href="index.html" title="FindBugs&#8482; Manual"><link rel="up" href="index.html" title="FindBugs&#8482; Manual"><link rel="prev" href="rejarForAnalysis.html" title="Chapter&nbsp;11.&nbsp;Using rejarForAnalysis"><link rel="next" href="license.html" title="Chapter&nbsp;13.&nbsp;License"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter&nbsp;12.&nbsp;Data mining of bugs with <span class="application">FindBugs</span>&#8482;</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="rejarForAnalysis.html">Prev</a>&nbsp;</td><th width="60%" align="center">&nbsp;</th><td width="20%" align="right">&nbsp;<a accesskey="n" href="license.html">Next</a></td></tr></table><hr></div><div class="chapter" lang="en"><div class="titlepage"><div><div><h2 class="title"><a name="datamining"></a>Chapter&nbsp;12.&nbsp;Data mining of bugs with <span class="application">FindBugs</span>&#8482;</h2></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="sect1"><a href="datamining.html#commands">1. Commands</a></span></dt><dt><span class="sect1"><a href="datamining.html#examples">2. Examples</a></span></dt><dt><span class="sect1"><a href="datamining.html#antexample">3. Ant example</a></span></dt></dl></div><p>FindBugs incorporates an ability to perform sophisticated queries on bugdatabases and track warnings across multiple versions of code beingstudied, allowing you to do things such as seeing when a bug was first introduced, examiningjust the warnings that have been introduced since the last release, or graphing the numberof infinite recursive loops in your code over time.</p><p>These techniques all depend upon the XML format used by FindBugs for storing warnings.These XML files usually contain just the warnings from one particular analysis run, butthey can also store the results from analyzing a sequence of software builds or versions.	</p><p>Any FindBugs XML bug database contains a version name and timestamp. FindBugs tries to compute a timestamp from the timestamps of the files thatare analyzed (e.g., the timestamp is intended to be the time the class fileswere generated, not analyzed). Each bug database also contains a version name.Both the version name and timestamp can be set manually using the <span><strong class="command">setBugDatabaseInfo</strong></span> (<a href="datamining.html#setBugDatabaseInfo" title="1.7.&nbsp;setBugDatabaseInfo">Section&nbsp;1.7, &#8220;setBugDatabaseInfo&#8221;</a>) command.	</p><p>A multiversion bug database assigns a sequence number to each version ofthe analyzed code. These sequence numbers are simply successive integers,starting at 0 (e.g., a bug database for 4 versions of the code will containversions 0..3). The bug database will also record the name and timestamp foreach version. The <span><strong class="command">filterBugs</strong></span> command allows you to referto a version by sequence number, name or timestamp.</p><p>You can take a sequence (or pair) of single version bug databases and createfrom them a multiversion bug database, or combine a multiversion bug databasewith a sequence of later single-version bug databases.</p><p>Some of these commands can be invoked as ant tasks.  See below for specificson how to invoke them and what attributes and arguments they take.  All ofthe examples assume that the <code class="literal">findbugs.lib</code><code class="literal">refid</code> is set correctly.  Here is one way to set it:</p><pre class="programlisting">   &lt;!-- findbugs task definition --&gt;   &lt;property name="findbugs.home" value="/your/path/to/findbugs" /&gt;   &lt;path id="findbugs.lib"&gt;      &lt;fileset dir="${findbugs.home}/lib"&gt;         &lt;include name="findbugs-ant.jar"/&gt;      &lt;/fileset&gt;   &lt;/path&gt;</pre><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="commands"></a>1.&nbsp;Commands</h2></div></div></div><p>All tools for FindBugs data mining are can be invoked from the command line,and some of the more useful tools can also be invoked from anant build file.</p><p>Briefly, the command-line tools are:</p><div class="variablelist"><dl><dt><span class="term"><span><strong class="command"><a href="datamining.html#unionBugs" title="1.1.&nbsp;unionBugs">unionBugs</a></strong></span></span></dt><dd><p>						 combine the results from separate analysis of disjoint		classes					</p></dd><dt><span class="term"><span><strong class="command"><a href="datamining.html#computeBugHistory" title="1.2.&nbsp;computeBugHistory">computeBugHistory</a></strong></span></span></dt><dd><p>Merge bug warnings from multiple versions of			analyzed code into			a single multiversion bug database. This can either be used			to add more versions to an existing multiversion database,			or to create a multiversion database from a sequence of single version			bug warning databases.</p></dd><dt><span class="term"><span><strong class="command"><a href="datamining.html#setBugDatabaseInfo" title="1.7.&nbsp;setBugDatabaseInfo">setBugDatabaseInfo</a></strong></span></span></dt><dd><p>Set information such as the revision name ortimestamp in an XML bug database</p></dd><dt><span class="term"><span><strong class="command"><a href="datamining.html#listBugDatabaseInfo" title="1.8.&nbsp;listBugDatabaseInfo">listBugDatabaseInfo</a></strong></span></span></dt><dd><p>List information such as the revision name andtimestamp for a list of XML bug databases</p></dd><dt><span class="term"><span><strong class="command"><a href="datamining.html#filterBugs" title="1.3.&nbsp;filterBugs">filterBugs</a></strong></span></span></dt><dd><p>Select a subset of a bug database</p></dd><dt><span class="term"><span><strong class="command"><a href="datamining.html#mineBugHistory" title="1.4.&nbsp;mineBugHistory">mineBugHistory</a></strong></span></span></dt><dd><p>Generate a tabular listing of the number of warnings in each		version of a multiversion bug database</p></dd><dt><span class="term"><span><strong class="command"><a href="datamining.html#defectDensity" title="1.5.&nbsp;defectDensity">defectDensity</a></strong></span></span></dt><dd><p>List information about defect density						 (warnings per 1000 NCSS)						 for the entire project and each class and package</p></dd><dt><span class="term"><span><strong class="command"><a href="datamining.html#convertXmlToText" title="1.6.&nbsp;convertXmlToText">convertXmlToText</a></strong></span></span></dt><dd><p>Convert bug warnings in XML format to 					a textual one-line-per-bug format, or to HTML</p></dd></dl></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="unionBugs"></a>1.1.&nbsp;unionBugs</h3></div></div></div><p>		If you have, for example, separately analyzing each jar file used in an application,		you can use this command to combine the separately generated xml bug warning files into		a single file containing all of the warnings.</p><p>Do <span class="emphasis"><em>not</em></span> use this command to combine results from analyzing different versions of the same			file; use <span><strong class="command">computeBugHistory</strong></span> instead.</p><p>Specify the xml files on the command line. The result is sent to standard output.</p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="computeBugHistory"></a>1.2.&nbsp;computeBugHistory</h3></div></div></div><p>Use this command to generate a bug database containing information from different builds or versionsof software you are analyzing.History is taken from the first file provided as input; any followingfiles should be single version bug databases (if they contain history, the history in thosefiles will be ignored).</p><p>By default, output is written to the standard output.</p><p>This functionality may also can be accessed from ant.First create a taskdef for <span><strong class="command">computeBugHistory</strong></span> in yourbuild file:</p><pre class="programlisting">&lt;taskdef name="computeBugHistory" classname="edu.umd.cs.findbugs.anttask.ComputeBugHistoryTask"&gt;    &lt;classpath refid="findbugs.lib" /&gt;&lt;/taskdef&gt;</pre><p>Attributes for this ant task are listed in the following table.To specify input files, nest them inside with a<code class="literal">&lt;datafile&gt;</code> element.  For example:</p><pre class="programlisting">&lt;computeBugHistory home="${findbugs.home}" ...&gt;    &lt;datafile name="analyze1.xml"/&gt;    &lt;datafile name="analyze2.xml"/&gt;&lt;/computeBugHistory&gt;</pre><div class="table"><a name="computeBugHistoryTable"></a><p class="title"><b>Table&nbsp;12.1.&nbsp;Options for computeBugHistory command</b></p><div class="table-contents"><table summary="Options for computeBugHistory command" border="1"><colgroup><col><col><col></colgroup><thead><tr><th align="left">Command-line option</th><th align="left">Ant attribute</th><th align="left">Meaning</th></tr></thead><tbody><tr><td align="left">-output &lt;file&gt;</td><td align="left">output="&lt;file&gt;"</td><td align="left">save output in the named file (may also be an input file)</td></tr><tr><td align="left">-overrideRevisionNames[:truth]</td><td align="left">overrideRevisionNames="[true|false]"</td><td align="left">override revision names for each version with names computed from the filenames</td></tr><tr><td align="left">-noPackageMoves[:truth]</td><td align="left">noPackageMoves="[true|false]"</td><td align="left">if a class has moved to another package, treat warnings in that class as seperate</td></tr><tr><td align="left">-preciseMatch[:truth]</td><td align="left">preciseMatch="[true|false]"</td><td align="left">require bug patterns to match precisely</td></tr><tr><td align="left">-precisePriorityMatch[:truth]</td><td align="left">precisePriorityMatch="[true|false]"</td><td align="left">consider two warnings as the same only if priorities match exactly</td></tr><tr><td align="left">-quiet[:truth]</td><td align="left">quiet="[true|false]"</td><td align="left">don't generate any output to standard out unless there is an error</td></tr><tr><td align="left">-withMessages[:truth]</td><td align="left">withMessages="[true|false]"</td><td align="left">include human-readable messages describing the warnings in XML output</td></tr></tbody></table></div></div><br class="table-break"></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="filterBugs"></a>1.3.&nbsp;filterBugs</h3></div></div></div><p>This command is used to select a subset of warnings from a FindBugs XML warning fileand write the selected subset to a new FindBugs warning file.</p><p>This command takes a sequence of options, and either zero, one or twofilenames of findbugs xml bug files on the command line.</p><p>If no file names are provided, the command reads from standard inputand writes to standard output. If one file name is provided,it reads from the file and writes to standard output.If two file names are provided, it reads from the first and writes the outputto the second file name.</p><p>This functionality may also can be accessed from ant.First create a taskdef for <span><strong class="command">filterBugs</strong></span> in yourbuild file:</p><pre class="programlisting">&lt;taskdef name="filterBugs" classname="edu.umd.cs.findbugs.anttask.FilterBugsTask"&gt;    &lt;classpath refid="findbugs.lib" /&gt;&lt;/taskdef&gt;</pre><p>Attributes for this ant task are listed in the following table.To specify an input file either use the input attribute or nest it insidethe ant call with a <code class="literal">&lt;datafile&gt;</code> element.  For example:</p><pre class="programlisting">&lt;filterBugs home="${findbugs.home}" ...&gt;    &lt;datafile name="analyze.xml"/&gt;&lt;/filterBugs&gt;</pre><div class="table"><a name="filterOptionsTable"></a><p class="title"><b>Table&nbsp;12.2.&nbsp;Options for filterBugs command</b></p><div class="table-contents"><table summary="Options for filterBugs command" border="1"><colgroup><col><col><col></colgroup><thead><tr><th align="left">Command-line option</th><th align="left">Ant attribute</th><th align="left">Meaning</th></tr></thead><tbody><tr><td align="left">&nbsp;</td><td align="left">input="&lt;file&gt;"</td><td align="left">use file as input</td></tr><tr><td align="left">&nbsp;</td><td align="left">output="&lt;file&gt;"</td><td align="left">output results to file</td></tr><tr><td align="left">-not</td><td align="left">not="[true|false]"</td><td align="left">reverse (all) switches for the filter</td></tr><tr><td align="left">-withSource[:truth]</td><td align="left">withSource="[true|false]"</td><td align="left">only warnings for switch source is available</td></tr><tr><td align="left">-exclude &lt;filter file&gt;</td><td align="left">exclude="&lt;filter file&gt;"</td><td align="left">exclude bugs matching given filter</td></tr><tr><td align="left">-include &lt;filter file&gt;</td><td align="left">include="&lt;filter file&gt;"</td><td align="left">include only bugs matching given filter</td></tr><tr><td align="left">-annotation &lt;text&gt;</td><td align="left">annotation="&lt;text&gt;"</td><td align="left">allow only warnings containing this text in a manual annotation</td></tr><tr><td align="left">-after &lt;when&gt;</td><td align="left">after="&lt;when&gt;"</td><td align="left">allow only warnings that first occurred after this version</td></tr><tr><td align="left">-before &lt;when&gt;</td><td align="left">before="&lt;when&gt;"</td><td align="left">allow only warnings that first occurred before this version</td></tr><tr><td align="left">-first &lt;when&gt;</td><td align="left">first="&lt;when&gt;"</td><td align="left">allow only warnings that first occurred in this version</td></tr><tr><td align="left">-last &lt;when&gt;</td><td align="left">last="&lt;when&gt;"</td><td align="left">allow only warnings that last occurred in this version</td></tr><tr><td align="left">-fixed &lt;when&gt;</td><td align="left">fixed="&lt;when&gt;"</td><td align="left">allow only warnings that last occurred in the previous version (clobbers <code class="option">-last</code>)</td></tr><tr><td align="left">-present &lt;when&gt;</td><td align="left">present="&lt;when&gt;"</td><td align="left">allow only warnings present in this version</td></tr><tr><td align="left">-absent &lt;when&gt;</td><td align="left">absent="&lt;when&gt;"</td><td align="left">allow only warnings absent in this version</td></tr><tr><td align="left">-active[:truth]</td><td align="left">active="[true|false]"</td><td align="left">allow only warnings alive in the last sequence number</td></tr><tr><td align="left">-introducedByChange[:truth]</td><td align="left">introducedByChange="[true|false]"</td><td align="left">allow only warnings introduced by a change of an existing class</td></tr><tr><td align="left">-removedByChange[:truth]</td><td align="left">removedByChange="[true|false]"</td><td align="left">allow only warnings removed by a change of a persisting class</td></tr><tr><td align="left">-newCode[:truth]</td><td align="left">newCode="[true|false]"</td><td align="left">allow only warnings introduced by the addition of a new class</td></tr><tr><td align="left">-removedCode[:truth]</td><td align="left">removedCode="[true|false]"</td><td align="left">allow only warnings removed by removal of a class</td></tr><tr><td align="left">-priority &lt;level&gt;</td><td align="left">priority="&lt;level&gt;"</td><td align="left">allow only warnings with this priority or higher</td></tr><tr><td align="left">-class &lt;pattern&gt;</td><td align="left">class="&lt;class&gt;"</td><td align="left">allow only bugs whose primary class name matches this pattern</td></tr><tr><td align="left">-bugPattern &lt;pattern&gt;</td><td align="left">bugPattern="&lt;pattern&gt;"</td><td align="left">allow only bugs whose type matches this pattern</td></tr><tr><td align="left">-category &lt;category&gt;</td><td align="left">category="&lt;category&gt;"</td><td align="left">allow only warnings with a category that starts with this string</td></tr><tr><td align="left">-designation &lt;designation&gt;</td><td align="left">designation="&lt;designation&gt;"</td><td align="left">allow only warnings with this designation (e.g., -designation SHOULD_FIX)</td></tr><tr><td align="left">-withMessages[:truth] </td><td align="left">withMessages="[true|false]"</td><td align="left">the generated XML should contain textual messages</td></tr></tbody></table></div></div><br class="table-break"></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="mineBugHistory"></a>1.4.&nbsp;mineBugHistory</h3></div></div></div><p>This command generates a table containing counts of the numbers of warningsin each version of a multiversion bug database.</p><p>This functionality may also can be accessed from ant.First create a taskdef for <span><strong class="command">mineBugHistory</strong></span> in yourbuild file:</p><pre class="programlisting">&lt;taskdef name="mineBugHistory" classname="edu.umd.cs.findbugs.anttask.MineBugHistoryTask"&gt;    &lt;classpath refid="findbugs.lib" /&gt;&lt;/taskdef&gt;</pre><p>Attributes for this ant task are listed in the following table.To specify an input file either use the <code class="literal">input</code>attribute or nest it inside the ant call with a<code class="literal">&lt;datafile&gt;</code> element.  For example:</p><pre class="programlisting">&lt;mineBugHistory home="${findbugs.home}" ...&gt;    &lt;datafile name="analyze.xml"/&gt;&lt;/mineBugHistory&gt;</pre><div class="table"><a name="mineBugHistoryOptionsTable"></a><p class="title"><b>Table&nbsp;12.3.&nbsp;Options for mineBugHistory command</b></p><div class="table-contents"><table summary="Options for mineBugHistory command" border="1"><colgroup><col><col><col></colgroup><thead><tr><th align="left">Command-line option</th><th align="left">Ant attribute</th><th align="left">Meaning</th></tr></thead><tbody><tr><td align="left">&nbsp;</td><td align="left">input="&lt;file&gt;"</td><td align="left">use file as input</td></tr><tr><td align="left">&nbsp;</td><td align="left">output="&lt;file&gt;"</td><td align="left">write output to file</td></tr><tr><td align="left">-formatDates</td><td align="left">formatDates="[true|false]"</td><td align="left">render dates in textual form</td></tr><tr><td align="left">-noTabs</td><td align="left">noTabs="[true|false]"</td><td align="left">delimit columns with groups of spaces instead of tabs (see below)</td></tr><tr><td align="left">-summary</td><td align="left">summary="[true|false]"</td><td align="left">output terse summary of changes over the last ten entries</td></tr></tbody></table></div></div><br class="table-break"><p>		The <code class="option">-noTabs</code> output can be easier to read from a shell		with a fixed-width font.		Because numeric columns are right-justified, spaces may precede the		first column value. This option also causes <code class="option">-formatDates</code>		to render dates in terser format without embedded whitespace.		</p><p>The table is a tab-separated (barring <code class="option">-noTabs</code>)		table with the following columns:</p><div class="table"><a name="mineBugHistoryColumns"></a><p class="title"><b>Table&nbsp;12.4.&nbsp;Columns in mineBugHistory output</b></p><div class="table-contents"><table summary="Columns in mineBugHistory output" border="1"><colgroup><col><col></colgroup><thead><tr><th align="left">Title</th><th align="left">Meaning</th></tr></thead><tbody><tr><td align="left">seq</td><td align="left">Sequence number (successive integers, starting at 0)</td></tr><tr><td align="left">version</td><td align="left">Version name</td></tr><tr><td align="left">time</td><td align="left">Release timestamp</td></tr><tr><td align="left">classes</td><td align="left">Number of classes analyzed</td></tr><tr><td align="left">NCSS</td><td align="left">Non Commenting Source Statements</td></tr><tr><td align="left">added</td><td align="left">Count of new warnings for a class that existed in the previous version</td></tr><tr><td align="left">newCode</td><td align="left">Count of new warnings for a class that did not exist in the previous version</td></tr><tr><td align="left">fixed</td><td align="left">Count of warnings removed from a class that remains in the current version</td></tr><tr><td align="left">removed</td><td align="left">Count of warnings in the previous version for a class that is not present in the current version</td></tr><tr><td align="left">retained</td><td align="left">Count of warnings that were in both the previous and current version</td></tr><tr><td align="left">dead</td><td align="left">Warnings that were present in earlier versions but in neither the current version or the immediately preceeding version</td></tr><tr><td align="left">active</td><td align="left">Total warnings present in the current version</td></tr></tbody></table></div></div><br class="table-break"></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="defectDensity"></a>1.5.&nbsp;defectDensity</h3></div></div></div><p>This command lists information about defect density (warnings per 1000 NCSS) for the entire project and each class and package.

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美va亚洲va在线观看蝴蝶网| 久久久精品人体av艺术| 欧美成人福利视频| 亚洲男人天堂av| 麻豆国产一区二区| 在线亚洲免费视频| 国产精品久久二区二区| 国内精品免费在线观看| 欧美日韩一区不卡| 自拍av一区二区三区| 国产一区二区三区蝌蚪| 91精品国产黑色紧身裤美女| 一区二区三区四区五区视频在线观看| 国产一区美女在线| 日韩欧美中文字幕精品| 午夜伦欧美伦电影理论片| av电影在线观看一区| 国产亚洲婷婷免费| 国产一区二区美女| 日韩欧美电影一区| 日韩av一区二区三区四区| 欧美三级日韩在线| 一区二区三区不卡视频在线观看| 91一区二区三区在线观看| 国产欧美精品区一区二区三区| 精品一区二区精品| 精品久久久网站| 经典一区二区三区| 精品国产成人在线影院 | 日韩欧美一级精品久久| 亚洲福利电影网| 欧美午夜精品久久久| 一卡二卡欧美日韩| 欧美日韩不卡在线| 视频一区视频二区中文| 欧美一区二区播放| 美洲天堂一区二卡三卡四卡视频 | 91亚洲男人天堂| 自拍偷拍亚洲激情| 欧美亚洲高清一区| 日本三级韩国三级欧美三级| 欧美一区二区三区性视频| 久久99精品久久久久久国产越南 | 国产剧情在线观看一区二区| 精品国产一区二区三区久久影院 | 丁香一区二区三区| 国产精品的网站| 日本大香伊一区二区三区| 亚洲国产欧美一区二区三区丁香婷| 欧美日韩一区二区三区高清| 日本不卡视频在线| 日本一区二区不卡视频| 色欲综合视频天天天| 婷婷综合五月天| 久久久久亚洲蜜桃| 91在线精品一区二区| 香蕉av福利精品导航 | 日韩亚洲国产中文字幕欧美| 国产一区二区三区美女| 国产精品人成在线观看免费 | 国产欧美日韩综合精品一区二区| eeuss影院一区二区三区| 亚洲国产视频一区| 亚洲精品一区二区三区精华液 | 天天av天天翘天天综合网色鬼国产| 欧美日韩成人在线一区| 国产精品456| 五月天婷婷综合| 久久精品亚洲精品国产欧美kt∨| 色播五月激情综合网| 久久国产日韩欧美精品| 日韩美女啊v在线免费观看| 3751色影院一区二区三区| 粗大黑人巨茎大战欧美成人| 亚洲第一福利视频在线| 欧美激情一二三区| 日韩色视频在线观看| 91丝袜高跟美女视频| 韩国精品在线观看| 午夜精品久久久久久久99樱桃| 欧美国产视频在线| 日韩欧美激情在线| 欧美人狂配大交3d怪物一区| 成人精品高清在线| 久久91精品国产91久久小草| 亚洲电影中文字幕在线观看| 国产精品网站在线播放| 亚洲精品在线电影| 日韩欧美一区二区免费| 色播五月激情综合网| 国产成人精品免费一区二区| 麻豆精品国产91久久久久久| 午夜精品视频在线观看| 亚洲色图视频网站| 中文一区二区在线观看| 久久精品视频免费| 日韩欧美色综合| 欧美日本国产一区| 欧美性视频一区二区三区| voyeur盗摄精品| 粉嫩aⅴ一区二区三区四区| 精品在线你懂的| 麻豆专区一区二区三区四区五区| 亚洲电影你懂得| 午夜影院在线观看欧美| 亚洲韩国精品一区| 一区二区三区电影在线播| 亚洲裸体xxx| 亚洲日穴在线视频| 亚洲日本丝袜连裤袜办公室| 国产精品国产自产拍在线| 欧美国产综合一区二区| 亚洲国产岛国毛片在线| 中文一区在线播放| 中文字幕视频一区| 亚洲免费在线视频一区 二区| 亚洲三级电影全部在线观看高清| 国产精品私人自拍| 亚洲欧美自拍偷拍色图| 亚洲乱码国产乱码精品精小说| 亚洲欧美另类小说视频| 亚洲精品国产无套在线观 | 国产精品国模大尺度视频| 国产精品国产三级国产三级人妇| 中文字幕视频一区二区三区久| 亚洲欧美日韩国产手机在线| 亚洲主播在线播放| 久久精品国产99国产| 美女视频网站久久| 国产精品综合网| 成人精品国产免费网站| 色婷婷综合视频在线观看| 欧美精品粉嫩高潮一区二区| 日韩女优毛片在线| 国产亚洲精久久久久久| 中文字幕一区二区三区乱码在线 | 国产福利一区二区| 91婷婷韩国欧美一区二区| 欧美视频精品在线| 日韩免费一区二区| 国产精品久久久久久一区二区三区| 综合激情成人伊人| 亚洲国产人成综合网站| 激情小说欧美图片| 91在线云播放| 精品欧美一区二区久久| 国产精品成人一区二区艾草| 日日夜夜精品免费视频| 国产精品一区二区不卡| 91黄色免费观看| 精品日韩在线观看| 国产精品视频线看| 午夜精品视频一区| 成人免费视频一区| 69久久99精品久久久久婷婷| 久久精品一区二区| 日韩有码一区二区三区| bt欧美亚洲午夜电影天堂| 欧美高清激情brazzers| 国产精品久久久久久久久免费桃花 | 91麻豆精品在线观看| 91麻豆精品91久久久久同性| 国产精品每日更新| 日av在线不卡| 91麻豆福利精品推荐| 2023国产精华国产精品| 亚州成人在线电影| av激情亚洲男人天堂| 亚洲精品一线二线三线无人区| 亚洲一区二区精品视频| jvid福利写真一区二区三区| 久久女同互慰一区二区三区| 亚洲成人一区在线| 久久99九九99精品| 国产精品女主播av| 在线不卡a资源高清| 天天影视网天天综合色在线播放 | 91精彩视频在线观看| 久久久精品tv| 美女视频网站黄色亚洲| 欧美日韩亚洲国产综合| 亚洲免费在线观看| 波多野结衣中文字幕一区二区三区| 日韩欧美精品在线视频| 天堂一区二区在线| 欧美性生活影院| 亚洲自拍偷拍欧美| 91女厕偷拍女厕偷拍高清| 国产精品进线69影院| caoporm超碰国产精品| 国产拍欧美日韩视频二区| 国产高清在线观看免费不卡| 精品国产乱码久久久久久浪潮 | 日韩电影免费在线看| 欧美性视频一区二区三区| 亚洲国产一区在线观看| 欧美日韩一区 二区 三区 久久精品| 亚洲一二三四久久| 欧美最猛黑人xxxxx猛交| 亚洲国产精品麻豆|