在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線(xiàn)課程
  • 觀(guān)看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

快速入門(mén)GDB

汽車(chē)電子技術(shù) ? 來(lái)源:宅學(xué)部落 ? 作者:wit ? 2023-02-17 09:48 ? 次閱讀

GDB簡(jiǎn)介

常在河邊走,哪有不濕鞋。經(jīng)常編寫(xiě)程序的人,又怎么可能不遇到bug呢?沒(méi)有遇到過(guò)bug的程序員不是真正的程序員。當(dāng)程序出現(xiàn)了bug,我們就需要debug,常見(jiàn)的程序錯(cuò)誤按錯(cuò)誤類(lèi)型來(lái)分,一般可分為兩種:

  • 編譯錯(cuò)誤
  • 運(yùn)行錯(cuò)誤

編譯錯(cuò)誤是指程序在編譯階段遇到的錯(cuò)誤,比如語(yǔ)法錯(cuò)誤、語(yǔ)義錯(cuò)誤等。這種類(lèi)型的錯(cuò)誤編譯器一般會(huì)幫助我們檢查,當(dāng)遇到此類(lèi)錯(cuò)誤時(shí),編譯器就會(huì)停止編譯,給出錯(cuò)誤或警告的信息,我們根據(jù)錯(cuò)誤的提示,就可以很快解決掉。

運(yùn)行錯(cuò)誤是指程序在運(yùn)行階段遇到的錯(cuò)誤,比如段錯(cuò)誤。在運(yùn)行階段,為了能夠定位出現(xiàn)的錯(cuò)誤,我們經(jīng)常使用的方法是打印:將程序運(yùn)行過(guò)程中的一些觀(guān)察變量打印出來(lái),看是否符合正常的程序邏輯。打印方法簡(jiǎn)單方便,但對(duì)于一些隱藏比較深的bug,或者一些跟內(nèi)存相關(guān)的bug,此時(shí)再用“打印大法”可能就愛(ài)莫能助了。此時(shí),我們經(jīng)常使用的另一種方法是:?jiǎn)尾秸{(diào)試。所謂單步調(diào)試,就是我們可以獲取到控制程序運(yùn)行的權(quán)限,在人工操作下,程序可以“放慢腳步”,一步一步地執(zhí)行,甚至可以暫停執(zhí)行,方便我們觀(guān)察各個(gè)變量、內(nèi)存、寄存器的值,看是否符合我們的預(yù)期。

在Windows下調(diào)試程序,我們一般是使用集成開(kāi)發(fā)環(huán)境(IDE,Integrated Development Environment )內(nèi)部集成的調(diào)試器(debugger),通過(guò)菜單欄的“調(diào)試(debug)”選項(xiàng),就可以讓程序進(jìn)入調(diào)試模式:可以單步執(zhí)行程序、暫停程序運(yùn)行、觀(guān)察變量或內(nèi)存的值。

Linux下調(diào)試程序,因?yàn)樵缙跊](méi)有成熟、好用的IDE,一般都是使用GDB來(lái)調(diào)試程序。GDB是“GNU Symblic Debugger”的縮寫(xiě),是GNU自由軟件下的一個(gè)產(chǎn)品,隨著版本不斷地更新迭代,目前最新的GDB版本不僅可以調(diào)試C語(yǔ)言程序,還可以調(diào)試C++、Go、Object-C等編譯型語(yǔ)言。

在Linux下開(kāi)發(fā)程序,學(xué)會(huì)使用GDB是一項(xiàng)基本技能。在Windows下開(kāi)發(fā)程序,在很多IDE內(nèi)部,往往也集成了GDB,用戶(hù)可以通過(guò)圖形界面來(lái)調(diào)用GDB調(diào)試程序,也可以直接在DOS環(huán)境下直接通過(guò)GDB命令來(lái)調(diào)試程序。

教程將會(huì)帶領(lǐng)大家熟悉和掌握程序調(diào)試常用的GDB命令,讓我們的開(kāi)發(fā)工作更加高效。

GDB安裝

很多Linux操作系統(tǒng)默認(rèn)都已經(jīng)安裝了GDB,所以在安裝GDB之前,首先要確實(shí)你的當(dāng)前系統(tǒng)有沒(méi)有已經(jīng)安裝:

# gdb -v
GNU gdb (Ubuntu 9.2-0ubuntu1~20.04) 9.2
Copyright (C) 2020 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later 
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

如果出現(xiàn)上面的版本信息,如果GDB已經(jīng)安裝好了;若沒(méi)有出現(xiàn)上面的信息,可以使用下面的命令直接安裝:

# apt-get install gdb  Debian系列操作系統(tǒng)安裝命令
# yum install gdb      RedHat系列操作系統(tǒng)安裝命令

Linux操作系統(tǒng)因?yàn)殚_(kāi)源特性,很多操作系統(tǒng)都是基于開(kāi)源版本不斷演化,發(fā)展成不同的版本和分支。但總的來(lái)說(shuō),可以分為三大系:Fedora系、Debian系和SlackWare系。

  • RedHat系:Fedora、RHEL、CentOS等,使用yum命令安裝軟件包
  • Debian系:Ubuntu、Kali、Knopix等,使用apt-get安裝命令
  • SlackWare系:SUSE、OpenSUSE

安裝成功后,再次使用# gdb -v 命令查看是否安裝成功,如果出現(xiàn)gdb的版本信息,說(shuō)明軟件安裝成功。

GDB源碼安裝

使用yum或apt-get命令,從官方服務(wù)器安裝的軟件包,一般都是穩(wěn)定版,版本比較舊。如果想嘗鮮最先版本的GDB,可以使用源碼安裝。GDB因?yàn)槭荊NU開(kāi)源工程,所以安裝步驟也是基本的三步:配置、編譯、安裝。

首先,要到GDB官網(wǎng)下載最新版本的源碼包:GDB源碼包官網(wǎng)地址

接下來(lái),解壓這個(gè)源碼包,進(jìn)入源碼包目錄,按照經(jīng)典的三步走:配置、編譯、安裝即可。

# tar xvf gdb-10.1.tar.gz
# cd  gdb-10.1
# ./configure
# make
# make install
# gdb -v
GNU gdb (GDB) 10.1
Copyright (C) 2020 Free Software Foundation, Inc.
...

快速上手

安裝好GDB后,接下來(lái)就要快速上手GDB的使用。GDB和shell類(lèi)似,采用命令行形式的命令來(lái)調(diào)試程序,GDB常用的命令也就10來(lái)個(gè),掌握了這些常用的調(diào)試命令,基本上就可以滿(mǎn)足日常程序的調(diào)試需求。

第01步:編譯要調(diào)試的程序

首先,要將需要調(diào)試的源程序編譯為可執(zhí)行文件。以下面的C語(yǔ)言程序?yàn)槔?/p>

#include 

int main(void)
{
   int sum = 0;
   int i, num;
   
   printf("breakpoint 1\\n");

   printf("input num: ");
   scanf("%d", &num);
   printf("breakpoint 2\\n");

   if(num <= 0)
       printf("input invalid!\\n");
   else
   {
       for(i = 1; i <= num; i++)
           sum += i;
       printf("sum = %d\\n", sum);
   }

   printf("breakpoint 3\\n");
   printf("goodbye!\\n");
   return 0;
}

麻雀雖小,五臟俱全,上面的C語(yǔ)言程序?qū)崿F(xiàn)了數(shù)據(jù)求和的簡(jiǎn)單功能,但包含了程序的三種基本結(jié)構(gòu):順序程序結(jié)構(gòu)、選擇程序結(jié)構(gòu)和循環(huán)程序結(jié)構(gòu)。為方便演示,我們分別在第8行、第12行、第23行設(shè)置了三個(gè)打印斷點(diǎn)的函數(shù)。接下來(lái)我們編譯這個(gè)程序:

# gcc -g -O0 main.c -o a.out

生成的可執(zhí)行文件a.out里都是二進(jìn)制的機(jī)器指令,如果你想要源碼級(jí)調(diào)試,就需要在編譯程序時(shí)選中:debug選項(xiàng)(-g),生成的debug模式下的可執(zhí)行文件a.out就包含了各種調(diào)試信息,其中最重要的一個(gè)信息就是:二進(jìn)制機(jī)器指令和源程序代碼之間的對(duì)應(yīng)關(guān)系,有了這個(gè)調(diào)試信息,當(dāng)程序運(yùn)行二進(jìn)制機(jī)器指令的時(shí)候,就可以實(shí)時(shí)顯示對(duì)應(yīng)的源代碼,更方便我們閱讀和調(diào)試。如果你在編譯的時(shí)候不使用debug模式,而使用release模式,那么程序在運(yùn)行時(shí),顯示給你的就是二進(jìn)制的機(jī)器代碼或匯編指令,不適合人類(lèi)閱讀。

為提高程序的運(yùn)行效率和性能,編譯器在編譯程序時(shí),往往會(huì)對(duì)源程序進(jìn)行優(yōu)化,比如常量折疊、緩存、內(nèi)聯(lián)展開(kāi)等。我們?cè)诰幾g程序時(shí),也可以通過(guò)參數(shù)來(lái)控制編譯優(yōu)化級(jí)別,一般可分為如下等級(jí):

  • -O0:不對(duì)程序進(jìn)行編譯優(yōu)化,默認(rèn)的優(yōu)化等級(jí)
  • -O1:可以減少目標(biāo)文件的體積和程序執(zhí)行時(shí)間
  • -O2:在-O1優(yōu)化的基礎(chǔ)上,編譯器不執(zhí)行循環(huán)展開(kāi)和函數(shù)內(nèi)聯(lián),增加了代碼的性能
  • -Os:在-O2優(yōu)化的基礎(chǔ)上,專(zhuān)門(mén)優(yōu)化目標(biāo)文件的大小
  • -O3:在-O2優(yōu)化的基礎(chǔ)上,打開(kāi)了-finline-functions, -funswitch-loops等標(biāo)簽

源程序經(jīng)過(guò)編譯器優(yōu)化后,生成的二進(jìn)制和源代碼之間可能就不是一一對(duì)應(yīng)的關(guān)系了。為了更好的演示源碼級(jí)調(diào)試,我們?cè)诰幾g時(shí)選擇-O0選項(xiàng),不對(duì)程序進(jìn)行編譯優(yōu)化。

第02步:進(jìn)入GDB調(diào)試環(huán)境

需要調(diào)試的可執(zhí)行程序a.out生成以后,接下來(lái)就可以使用gdb進(jìn)行調(diào)試了,可以使用下面的命令來(lái)進(jìn)入GDB調(diào)試環(huán)境,調(diào)試a.out(編譯生成的a.out文件位于/home/gdb目錄下):

root@ubuntu:/home/gdb# gdb a.out
GNU gdb (Ubuntu 9.2-0ubuntu1~20.04) 9.2
Copyright (C) 2020 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later //gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Type "show copying" and "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
//www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
   //www.gnu.org/software/gdb/documentation/>.

For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from a.out...
(gdb) r
Starting program: /home/gdb/a.out
breakpoint 1
input num: 3
breakpoint 2
sum = 6
breakpoint 3
goodbye!
[Inferior 1 (process 2768) exited normally]
(gdb) q
root@ubuntu:/home/gdb#

當(dāng)我們使用# gdb a.out時(shí),就會(huì)進(jìn)入交互式的gdb調(diào)試環(huán)境,運(yùn)行run(可簡(jiǎn)寫(xiě)為 r)命令即可啟動(dòng)a.out的運(yùn)行。程序在運(yùn)行過(guò)程中的輸出、輸入和正常運(yùn)行模式下一樣,程序結(jié)束后,輸入quit(可簡(jiǎn)寫(xiě)為q)命令即可退出GDB調(diào)試環(huán)境,重新返回到SHELL環(huán)境下。

第03步:設(shè)置斷點(diǎn)、打印變量

GDB作為一個(gè)調(diào)試器,調(diào)試器該有的功能他都有,比如:設(shè)置斷點(diǎn)、打印變量、單步等。我們?cè)谡{(diào)試程序時(shí),如果想讓程序在某行暫停,觀(guān)察此時(shí)的一些寄存器、變量值,此時(shí)可以通過(guò)GDB的斷點(diǎn)設(shè)置和變量打印功能來(lái)實(shí)現(xiàn)。

接下來(lái)就給大家演示下如何設(shè)置斷點(diǎn)和打印變量:

root@ubuntu:/home/gdb# gdb a.out
GNU gdb (Ubuntu 9.2-0ubuntu1~20.04) 9.2
For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from a.out...
(gdb) b 8
Breakpoint 1 at 0x11cb: file main.c, line 8.
(gdb) b 12
Breakpoint 2 at 0x1200: file main.c, line 12.
(gdb) b 23
Breakpoint 3 at 0x1252: file main.c, line 23.
(gdb) r
Starting program: /home/gdb/a.out

Breakpoint 1, main () at main.c:8
8     printf("breakpoint 1\\n");
(gdb) print sum
$1 = 0
(gdb) c
Continuing.
breakpoint 1
input num: 3

Breakpoint 2, main () at main.c:12
12     printf("breakpoint 2\\n");
(gdb) c
Continuing.
breakpoint 2
sum = 6

Breakpoint 3, main () at main.c:23
23     printf("breakpoint 3\\n");
(gdb) print sum
$2 = 6
(gdb) c
Continuing.
breakpoint 3
goodbye!
[Inferior 1 (process 2780) exited normally]
(gdb) q
root@ubuntu:/home/gdb#

重新進(jìn)入GDB調(diào)試環(huán)境,使用break(可簡(jiǎn)寫(xiě)為b)命令可以在源代碼的具體某一行設(shè)置斷點(diǎn)。設(shè)置好斷點(diǎn)后,使用run命令即可運(yùn)行程序,程序在運(yùn)行過(guò)程中遇到斷點(diǎn)會(huì)暫停下來(lái),程序暫停后,你可以使用print命令來(lái)打印某一個(gè)具體變量的值。

如果想要程序繼續(xù)運(yùn)行,可以使用continue命令(可簡(jiǎn)寫(xiě)為c),程序會(huì)繼續(xù)運(yùn)行,直到遇到下一個(gè)斷點(diǎn)暫停下來(lái)。如果沒(méi)有再遇到斷點(diǎn),程序則會(huì)一直執(zhí)行下去,直到運(yùn)行結(jié)束。

如果想要程序繼續(xù)運(yùn)行,可以使用continue命令(可簡(jiǎn)寫(xiě)為c),程序會(huì)繼續(xù)運(yùn)行,直到遇到下一個(gè)斷點(diǎn)暫停下來(lái)。如果沒(méi)有再遇到斷點(diǎn),程序則會(huì)一直執(zhí)行下去,直到運(yùn)行結(jié)束。

在設(shè)置斷點(diǎn)的時(shí)候,如果想查看某一行代碼的具體行數(shù),可以使用list(可簡(jiǎn)寫(xiě)為l)命令查看部分源代碼。多次輸入list命令,GDB就會(huì)依次顯示不同的代碼片段,直到你找到要設(shè)置的斷點(diǎn)的行數(shù)為止。

在GDB交互環(huán)境下,當(dāng)你不輸入任何命令,直接敲擊回車(chē)鍵(Enter鍵)時(shí),GDB會(huì)默認(rèn)執(zhí)行上一次你輸入的命令。所以,當(dāng)你需要多次運(yùn)行同一個(gè)命令時(shí),不需要每次都輸入相同的命令,直接回車(chē),就可以多次重復(fù)執(zhí)行一個(gè)命令了。

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀(guān)點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 運(yùn)行
    +關(guān)注

    關(guān)注

    0

    文章

    25

    瀏覽量

    15523
  • 編譯
    +關(guān)注

    關(guān)注

    0

    文章

    674

    瀏覽量

    33489
  • DEBUG
    +關(guān)注

    關(guān)注

    3

    文章

    94

    瀏覽量

    20281
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    使用GDB調(diào)試Linux應(yīng)用程序

    本篇講解使用GDB調(diào)試Linux應(yīng)用程序,以下以 `hellowld.c` 為例介紹 GDB 的調(diào)試入門(mén)
    發(fā)表于 06-27 15:48 ?539次閱讀

    什么是GDBGDB的基本功能和命令總結(jié)

    GDB是嵌入式軟件工程師調(diào)試用的比較多的一種工具,今天就來(lái)簡(jiǎn)單分享一下GDB相關(guān)命令。
    的頭像 發(fā)表于 11-07 09:15 ?4487次閱讀

    ISE,Keil C和ICCAVR快速入門(mén)指南

    ISE,Keil C和ICCAVR快速入門(mén)指南:ISE6.2I快速入門(mén)介紹,Keil C快速入門(mén)
    發(fā)表于 11-01 23:20 ?0次下載
    ISE,Keil C和ICCAVR<b class='flag-5'>快速</b><b class='flag-5'>入門(mén)</b>指南

    gdb使用指南

    gdb使用指南 使用GDB:    本文描述GDB,GNU的原代碼調(diào)試器。(這是4.12版1994年一月,GDB版本4。16) 目錄: * 摘要: &
    發(fā)表于 09-28 16:35 ?27次下載

    gdb的基本工作原理

    gdbGNUdebugger。 gdb的主要功能救死扶傷。 gdb的主要用途修復(fù)bug;分析程序結(jié)構(gòu)。 gdb官方網(wǎng)址http://www.gnu.org/software/gdb/
    發(fā)表于 04-18 21:18 ?35次下載

    力控組態(tài)軟件快速入門(mén)

    力控組態(tài)軟件快速入門(mén),力控組態(tài)軟件快速入門(mén),力控組態(tài)軟件快速入門(mén)
    發(fā)表于 10-30 18:01 ?0次下載

    實(shí)例演示GDB的使用

    GDB簡(jiǎn)介 GDB(GNU Debugger)是一個(gè)強(qiáng)大的命令行調(diào)試工具。一般的,在Windows下進(jìn)行開(kāi)發(fā),很少操控命令行調(diào)試,調(diào)試器大多與編譯器都集成在IDE里了。 當(dāng)然,在Windows下也
    的頭像 發(fā)表于 10-19 09:58 ?2949次閱讀
    實(shí)例演示<b class='flag-5'>GDB</b>的使用

    PSCOPE快速入門(mén)指南

    PSCOPE快速入門(mén)指南
    發(fā)表于 05-23 20:22 ?10次下載
    PSCOPE<b class='flag-5'>快速</b><b class='flag-5'>入門(mén)</b>指南

    GDB串行協(xié)議概述 GDB Server的作用

    1.概述做嵌入式開(kāi)發(fā)時(shí),很多時(shí)候都會(huì)使用到GDB,從底層去理解GDB的調(diào)試過(guò)程,將更加容易的理解調(diào)試的過(guò)程。 在做嵌入式開(kāi)發(fā)調(diào)試時(shí),可理解為兩個(gè)部分 嵌入式系統(tǒng)平臺(tái),啟動(dòng)一個(gè)debug stub
    的頭像 發(fā)表于 08-10 10:10 ?5779次閱讀
    <b class='flag-5'>GDB</b>串行協(xié)議概述 <b class='flag-5'>GDB</b> Server的作用

    【嵌入式Linux學(xué)習(xí)】調(diào)試?yán)髦?b class='flag-5'>GDB快速入門(mén)指南

    1. GDB調(diào)試?yán)?.1. GDB簡(jiǎn)介在單片機(jī)開(kāi)發(fā)中,KEIL、IAR、ADS1.2等集成開(kāi)發(fā)環(huán)境下的調(diào)試工具對(duì)程序開(kāi)發(fā)有很大的幫助, 尤其是出現(xiàn)各種疑難雜癥的bug時(shí),往往只能通過(guò)單步調(diào)試、堆棧
    發(fā)表于 11-02 14:06 ?12次下載
    【嵌入式Linux學(xué)習(xí)】調(diào)試?yán)髦?b class='flag-5'>GDB</b><b class='flag-5'>快速</b><b class='flag-5'>入門(mén)</b>指南

    Renesas 7542入門(mén)套件快速入門(mén)指南

    Renesas 7542 入門(mén)套件快速入門(mén)指南
    發(fā)表于 04-28 19:42 ?0次下載
    Renesas 7542<b class='flag-5'>入門(mén)</b>套件<b class='flag-5'>快速</b><b class='flag-5'>入門(mén)</b>指南

    TileLib 快速入門(mén)指南

    TileLib 快速入門(mén)指南
    發(fā)表于 07-04 20:32 ?0次下載
    TileLib <b class='flag-5'>快速</b><b class='flag-5'>入門(mén)</b>指南

    GDB調(diào)試?yán)镌趺丛O(shè)置斷點(diǎn)

    本篇講解使用GDB調(diào)試Linux應(yīng)用程序,以下以 hellowld.c 為例介紹 GDB 的調(diào)試入門(mén): 設(shè)置斷點(diǎn) ??disable?????????????????#?禁用所有斷點(diǎn)
    的頭像 發(fā)表于 10-04 16:10 ?1392次閱讀

    GDB調(diào)試如何進(jìn)行變量查看

    變量查看 變量查看: 最常見(jiàn)的使用便是使用print(可簡(jiǎn)寫(xiě)為p)打印變量?jī)?nèi)容。 以上述程序?yàn)槔?gdb helloworld break helloworld.c:17 if i == 0
    的頭像 發(fā)表于 09-26 16:17 ?2205次閱讀

    如何使用linux下gdb來(lái)調(diào)試python程序

    如何使用linux下gdb來(lái)調(diào)試python程序? 在Linux下,可以使用GDB(GNU調(diào)試器)來(lái)調(diào)試Python程序。GDB是一個(gè)強(qiáng)大的調(diào)試工具,可以幫助開(kāi)發(fā)者診斷和修復(fù)程序中的錯(cuò)誤。在本文
    的頭像 發(fā)表于 01-31 10:41 ?2989次閱讀
    主站蜘蛛池模板: 丁香婷婷开心激情深爱五月 | 四虎国产精品免费入口 | 在线播放你懂得 | 久久久久久全国免费观看 | 欧美草比| 人人射人人干 | 在线观看一级毛片 | 在线观看h网站 | 免费观看一级一片 | 性欧美xx| 日本久久久 | jdav视频在线观看 | 久久久免费观看 | 亚洲第一成年网 | 成人影院久久久久久影院 | 国产真实乱偷人视频 | 97色在线视频 | 在线观看高清免费播放 | 国产麻豆成人传媒免费观看 | 欧美性xxxxbbbb | 四虎四虎| 五月天天色 | 狠狠色狠狠色综合日日小蛇 | 精品一区二区三区三区 | 91伊人久久大香线蕉 | 神马午夜限制 | 免费黄色在线观看 | 美女免费视频色在线观看 | 免费性bbbb台湾 | 午夜在线亚洲男人午在线 | 伊人久久成人 | 男人j进女人j免费视频视频 | 992tv国产精品福利在线 | 欧美日韩性高爱潮视频 | 特色一级黄色片 | 色婷婷综合激情视频免费看 | 日本tv欧美tv天堂 | 欧美大片xxxxbbbb| 手机看片欧美日韩 | 午夜影院视频 | ww欧洲ww欧洲视频 |