工作环境用samba

Linux 下调试大型C/C++程序对于一般的程序员来说是一件不容易的事情,GDB提供了强大的调试功能及丰富的调试命令,但界面友好性及用户体验不如VS调试工具(PS:很多大牛能把GDB使用的出神入化,在此膜拜下),工欲善其事,必先利其器,本文主要讲解在Windows环境下,使用Eclipse CDT通过GDBServer进行远程调试。

一、要使用的工具

  1. mingw-get-inst-20120426.exe
  2. gdb-7.4.1.tar.gz
  3. eclipse-cpp-indigo-SR2-incubation-win32.zip

二、安装及配置

安装mingw

打开mingw-get-inst-20120426.exe,一路next,在选择组件对话框中选择C compile、C++ compile、MS Baseic System如下图:

 

 

minGW编译GDB

  • 进入C:\MinGW\msys\1.0运行msys.bat打开minGW模拟环境
  • 拷贝gdb-7.4.1.tar.gz到当前用户目录(C:\MinGW\msys\1.0\home\tuxingkai)
  • tar zxvf gdb-7.4.1.tar.gz
  • cd gdb-7.4.1
  • ./configure --target=i686-pc-linux-gnu 这一步很重要,要指定目标机器的类型
  • make && make install

安装成功后将C:\MinGW\msys\1.0\local\bin目录下的i686-pc-linux-gnu-gdb.exe拷贝至C:\MinGW\bin目录下

 

提示出错(Cannot run program "make": Launching failed)。于是去MinGW的安装目录C:\MinGW\bin下将mingw32-make.exe复制成make.exe即可

配置Linux下的Samba

配置Linux的Samba服务,以便Windows以可以访问Linux的共享目录,Eclipse建立工程时在共享目录下创建,以达到Windows和Linux下代码共享

工作环境用samba_第1张图片

编辑/etc/samba/smb.conf文件,在最下方加入如下信息

[Share]
comment = Linux c/c++程序共享目录
path =/home/tuxingkai/Share
writable = yes
read only = no
browsable =yes
valid users = tuxingkai
guest ok =on

 

#service samba start 启动服务

 

Windows上映射共享文件夹

工作环境用samba_第2张图片

 

使用Eclipse创建C++工程

打开Eclipse,将工作目录切换到Z:\Project下,新建C++工程

选择当前的编译方式为Gnu Make builder

工作环境用samba_第3张图片

 

编译HelloWorld工程,eclipse 将会在Debug目录下自动生成makefile文件

 

在Linux下切换到HelloWorld/Debug目录下,执行make clean;make编译Linux下可执行文件

 

配置远程调试

 Linux服务端启动gdbserver

工作环境用samba_第4张图片

在eclipse环境下设置“调试配置”

工作环境用samba_第5张图片

 

工作环境用samba_第6张图片

 

工作环境用samba_第7张图片

 

配置完成后,点击Debug就可以远程调试了

 




Windows XP下MinGW的安装与配置 

到http://sourceforge.net/projects/mingw/ 手动去下载最新的MinGW,或使用MinGW-5.1.4.exe,自动下载。但后者往往不能下载到最新的稳定包。 

1、手动下载说明,参见:http://www.mingw.org/wiki/HOWTO_Install_the_MinGW_GCC_Compiler_Suite 
可从:http://sourceforge.net/projects/mingw/ 选择包下载。 

2、运行 MinGW-5.1.4.exe 的话,选择 Candidate,一般会下载最新的包,选择如下几项: 
MinGW base tools 
g++ compiler 
MingGW Make 


默认路径C:\MinGW,我装在 D:\cplusplus\mingw 

根据:http://wiki.codeblocks.org/index.php?title=MinGW_installation,需要下载如下必要的包: 
    * http://prdownloads.sf.net/mingw/gcc-core-3.4.5-20060117-1.tar.gz 
    * http://prdownloads.sf.net/mingw/gcc-g++-3.4.5-20060117-1.tar.gz 
    * http://prdownloads.sf.net/mingw/mingw-runtime-3.9.tar.gz 
    * http://prdownloads.sf.net/mingw/mingw-utils-0.3.tar.gz 
    * http://prdownloads.sf.net/mingw/w32api-3.6.tar.gz 
    * http://prdownloads.sf.net/mingw/binutils-2.17.50-20060824-1.tar.gz 
    * http://prdownloads.sf.net/mingw/mingw32-make-3.81-1.tar.gz 
另外一个是调试器:    
    * http://prdownloads.sf.net/mingw/gdb-6.3-2.exe 

安装完后就配置环境变量吧。 

控制面板--〉系统--〉系统详细设置--〉环境变量 

MINGW_PATH=E:\MinGW

LIBRARY_PATH=%MINGW_PATH%\lib;%MINGW_PATH%\lib\gcc\mingw32\4.6.2;

C_INCLUDE_PATH=%MINGW_PATH%\include%MINGW_PATH%\lib\gcc\mingw32\4.6.2\include;

CPLUS_INCLUDE_PATH=%MINGW_PATH%\include%MINGW_PATH%\lib\gcc\mingw32\4.6.2\include\c++;%MINGW_PATH%\lib\gcc\mingw32\4.6.2\include\c++\backward;%MINGW_PATH%\lib\gcc\mingw32\4.6.2\include\c++\mingw32;

PATH=%MINGW_PATH%\bin;%MINGW_PATH%\libexec\gcc\mingw32\4.6.2 

注意:上面的很多3.4.5这个是gcc的版本号,要以真实的文件夹为准。 

现在开一个CMD吧 
输入g++ --version 
看到以下信息的话就成功一半了。 
Reading specs from D:/cplusplus/mingw/bin/../lib/gcc/mingw32/3.4.5/specs 
Configured with: ../gcc-3.4.5-20060117-3/configure --with-gcc --with-gnu-ld --wi 
th-gnu-as --host=mingw32 --target=mingw32 --prefix=/mingw --enable-threads --dis 
able-nls --enable-languages=c,c++,f77,ada,objc,java --disable-win32-registry --d 
isable-shared --enable-sjlj-exceptions --enable-libgcj --disable-java-awt --with 
out-x --enable-java-gc=boehm --disable-libgcj-debug --enable-interpreter --enabl 
e-hash-synchronization --enable-libstdcxx-debug 
Thread model: win32 
gcc version 3.4.5 (mingw-vista special r3) 


继续新建一个test.cpp文件 
内容如下 
#include <iostream> 
using namespace std; 
int main(int argc, char** argv) 

cout << "Yeah, MinGW!" << endl; 
return 0; 

在cmd下面输入编译命令 
g++ -o test test.cpp 
这次是什么都没看到就是成功了。 

接着输入test.exe 
看见以下的信息了么 
Yeah, MinGW! 

现在,可以在XP下面编写你的C或者C++程序了。

你可能感兴趣的:(工作环境用samba)