亚洲欧美第一页_禁久久精品乱码_粉嫩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一区二区三区免费野_久草精品视频
欧美xxxxxxxx| 国产亚洲成av人在线观看导航| 国产传媒欧美日韩成人| 久久av中文字幕片| 久久精品国产亚洲高清剧情介绍 | 最新欧美精品一区二区三区| 久久久精品影视| 久久免费午夜影院| 日本一区二区在线不卡| 日本一区二区不卡视频| 国产精品高潮呻吟| 亚洲高清免费一级二级三级| 亚洲成人av免费| 精品一区二区三区视频在线观看| 狠狠色狠狠色综合系列| 国产91精品精华液一区二区三区| 白白色亚洲国产精品| 日本韩国一区二区三区视频| 欧美午夜视频网站| 精品国产1区2区3区| 国产精品久久久久久久久动漫| 亚洲欧美另类图片小说| 日韩专区一卡二卡| 国产成人综合亚洲网站| 色综合久久天天| 日韩精品专区在线| 国产精品丝袜黑色高跟| 亚洲国产精品天堂| 国产乱码精品一品二品| 色婷婷av久久久久久久| 欧美mv和日韩mv的网站| 亚洲私人黄色宅男| 裸体一区二区三区| av在线不卡电影| 日韩亚洲国产中文字幕欧美| 国产欧美日本一区二区三区| 亚洲一二三专区| 高清av一区二区| 91精品国产美女浴室洗澡无遮挡| 国产日产欧产精品推荐色 | 亚洲bt欧美bt精品| 国产成人自拍在线| 欧美裸体一区二区三区| 中文字幕精品一区二区三区精品| 亚洲国产视频一区二区| 国产成人综合网| 日韩亚洲欧美高清| 午夜激情久久久| 9色porny自拍视频一区二区| 精品第一国产综合精品aⅴ| 亚洲精品免费在线观看| 国产suv精品一区二区883| 欧美高清视频在线高清观看mv色露露十八| 久久久五月婷婷| 免费高清视频精品| 欧美性xxxxxx少妇| 亚洲人成在线观看一区二区| 国产精品一区在线观看乱码| 日韩一区二区三免费高清| 亚洲国产你懂的| 色久综合一二码| 亚洲黄色av一区| 99re成人精品视频| 国产精品福利在线播放| 国产一区二区在线视频| 日韩欧美色电影| 亚洲成av人片在线观看| 在线免费观看日本一区| 成人欧美一区二区三区1314| 夫妻av一区二区| 国产视频一区在线播放| 国产精品亚洲专一区二区三区| 日韩一区二区三区四区| 久88久久88久久久| 久久久噜噜噜久久中文字幕色伊伊| 麻豆传媒一区二区三区| 精品剧情v国产在线观看在线| 久久精品久久99精品久久| 日韩欧美另类在线| 国产尤物一区二区在线| 欧美国产乱子伦| 色综合久久中文综合久久牛| 一区二区三区免费网站| 在线精品视频一区二区| 亚洲一本大道在线| 日韩欧美在线不卡| 国产在线播放一区| 亚洲视频一区在线| 在线成人av影院| 国产一区二区网址| 中文字幕在线不卡| 欧美电影在哪看比较好| 久久99精品久久久久| 中文字幕欧美三区| 欧美日韩的一区二区| 精品一区二区三区久久久| 国产精品天干天干在观线| 在线精品亚洲一区二区不卡| 免费一区二区视频| 国产精品欧美一级免费| 欧美日韩精品一区视频| 国产精品自拍网站| 亚洲精品乱码久久久久久日本蜜臀| 欧美人与禽zozo性伦| 国产不卡视频在线观看| 亚洲一区二区在线播放相泽| 日韩欧美中文字幕制服| 91偷拍与自偷拍精品| 人人精品人人爱| 国产精品久久久99| 欧美一区二区播放| 一本色道亚洲精品aⅴ| 美女久久久精品| 亚洲欧美成aⅴ人在线观看| 91麻豆精品国产91久久久使用方法 | 国产91丝袜在线18| 亚洲成av人片一区二区三区| 国产精品丝袜久久久久久app| 欧美男男青年gay1069videost| 成人免费视频网站在线观看| 天堂蜜桃一区二区三区| 亚洲精品国产一区二区三区四区在线 | 亚洲成人免费av| 国产精品久久三| 欧美v国产在线一区二区三区| 93久久精品日日躁夜夜躁欧美| 久久er精品视频| 日韩在线a电影| 中文字幕亚洲区| 欧美国产精品专区| 2021久久国产精品不只是精品| 欧美午夜不卡视频| 91麻豆国产香蕉久久精品| 久久精品国产99国产| 亚洲成人免费影院| 亚洲自拍偷拍av| 一区二区三国产精华液| 国产精品国产三级国产专播品爱网| 欧美一区二区高清| 日韩视频一区二区在线观看| 欧美日韩大陆一区二区| 欧美午夜一区二区三区| 在线亚洲欧美专区二区| 色婷婷久久久综合中文字幕 | 欧美成人bangbros| 日韩一级高清毛片| 这里只有精品免费| 日韩一二三区不卡| 7777精品伊人久久久大香线蕉的| 欧美在线观看视频一区二区三区| 一本一道波多野结衣一区二区| 99国产欧美另类久久久精品| 99v久久综合狠狠综合久久| av综合在线播放| 91在线视频在线| 一本一道久久a久久精品综合蜜臀| 91丨九色丨蝌蚪丨老版| 日本二三区不卡| 欧美三级资源在线| 91精品国产综合久久久久久久| 欧美一区二区三区免费观看视频| 欧美一区二区久久| 久久综合久久综合久久综合| 国产网站一区二区三区| 日本一区二区三区电影| 日韩伦理免费电影| 亚洲午夜久久久久久久久电影网| 亚洲电影第三页| 日本不卡不码高清免费观看| 美女一区二区在线观看| 国产一区二区在线视频| 91丝袜国产在线播放| 欧美高清精品3d| 久久久国际精品| 亚洲美女淫视频| 美女视频免费一区| 国产精品1区2区3区| 97久久超碰国产精品电影| 欧美色大人视频| 国产喷白浆一区二区三区| 亚洲欧洲另类国产综合| 午夜精品123| 成人激情免费电影网址| 欧美日韩五月天| 国产欧美视频一区二区| 亚洲综合视频网| 国产伦理精品不卡| 欧洲中文字幕精品| 国产亚洲午夜高清国产拍精品| 亚洲视频一区二区在线| 国内久久婷婷综合| 欧美日韩一区国产| 中文字幕在线不卡| 国内一区二区在线| 欧美日韩高清一区二区| 中文字幕一区二区三区在线观看| 视频在线观看91| 日本黄色一区二区| 中文字幕高清不卡| 国产一区二区h|