⑴ 如何在Windows下编译或调试MySQL
用vs code 就可以了。
Visual Studio Code
Visual Studio Code(简称VS Code)是由微软开发的,同时支持Windows、linux和macOS操作系统的开源文本编辑器。它支持调试,内置了Git 版本控制功能,同时也具有开发环境功能,例如代码补全(类似于IntelliSense)、代码片段、代码重构等。该编辑器支持用户自定义配置,例如改变主题颜色、键盘快捷方式、编辑器属性和其他参数,还支持扩展程序并在编辑器中内置了扩展程序管理的功能。
安装LLDB
LLDB是LLVM编译器的一部分,推荐使用Homebrew安装LLVM工具集,不建议使用系统自带的LLDB,安装前必须先创建证书否则无法安装,步骤如下:
创建完成后,开始安装LLVM
brew install llvm --with-python@2--with-lldb
安装插件
VS Code自带有debug功能,这里我推荐使用LLDB Debugger插件。
接下来,为项目配置调试参数。
配置调试参数
使用VS Code打开MySQL源码目录,在侧边栏选择debug栏目,添加配置,program输入需要调试的程序路径,这里选择你编译好的mysqld路径,args输入程序启动所需的参数,通常会指定mysqld的配置文件。这样就配置好了,是不是很简单。
启动调试
点击启动按钮,启动后如果没有设置断点会mysqld会正常启动,如果触发了断点会如下图显示。
整个调试窗口基本分为六部分,所有的调试操作都在这里完成:
1:显示变量信息
2:设置重点关注的变量
3:显示调用栈信息
4:设置断点信息,在代码行号前也可以设置断点
5:代码显示区域,上方是调试按钮,包括 continue/stepover/step in/step out/restart/stop
6:调试终端输入输出区
断点设置
在代码行号前点击即可在该行为设置断点,也可以根据条件设置断点。以设置ConditionalBreakpoint为例,当程序启动后会按照你设置的条件表达式判断是否触发断点。
Conditional Breakpoint这种方式用在目标变量达到某条件时触发断点,其余则跳过继续执行。比如:设置变量等于目标表名时触发断点,其余表则跳过,相对函数名断点省去很多手工跳过操作。
远程调试
假如你想调试远程Linux服务器上的MySQL上面的方法就不合适了,这时需要远程调试。lldb和gdb都支持远程调试,这里以lldb为例。
需要先在远程主机上安装lldb,使用yum安装,源地址在这里http://mirror.centos.org/centos/7/sclo/x86_64/rh
remote$ yum install -y llvm-toolset-7
安装完成后,启动lldb-server
remote$ /opt/rh/llvm-toolset-7/root/usr/bin/lldb-serverplatform --listen"*:9191"--server
接下来,在VS Code调试界面中新增配置项。
{
"type":"lldb",
"request":"attach",
"name":"Remote attach",
"program":"~/mysql5626/usr/local/mysql/bin/mysqld",
"pid":"<target_pid>",
"initCommands": [
"platform select remote-linux",
"platform connect connect://<remote_host>:9191"
],
"sourceMap": {
"/export/home/pb2/build/sb_0-15908961-1436910670.17/mysql-5.6.26":"/Users/hongbin/workbench/mysql-server"
}
},
program:本机也要拷贝一份目标程序,加载
pid:填写远程主机的mysqld进程id
sourceMap:填写mysqld编译的代码路径与本机代码库路径的映射,这样调试时代码才可以和程序关联在一起看
注意:记得调试前将代码切换到与目标程序版本一致的branch
⑵ VLC源代码包如何在linux下编译+调试
你是为了装软件还是为了学习?如果只是装个软件,为什么不装二进制版的呢(.deb .rpm)。自己编译挺麻烦的。
如果非想自己编译,一般都是(我没编译过VLC,编译过其他的,感觉像VLC这么大的软件应该得较长时间!):先解压下载的源码包(tar.bz),然后从终端进入解压后的源码目录,在终端输入:一 ./configure ;二 make ;三 make install ;
一,好像是为了检查当前系统参数,也可以在后面加环境变量参数(./configure [options])。如果没问题便生成makefile
二,根据makefile编译
三,编译安装。(二,可省略)
其实,不管是windows还是linux下载了软件解压后第一件事是读readme!!!!!!!!!!!(其实你应该自己看readme和install,因为别人也不知道你下的软件什么情况,这两个文件一般都会告诉你怎样安装以及软件依赖什么包!!)
再是读install ,这是基本素质。要养成自觉性,这在linux下尤为重要!
至于调试,比较麻烦,不过如果只是装软件而不改代码的情况下,不用专门调试(难道你还要用专门工具调试?) 既然说是菜鸟,又稿这么复杂的东西,并且搞这么复杂的东西又不在更专业的地方提问,网络知道一般是解决日常问题的地方!!!
不过一般情况下执行上述三步时会报错,根据它报错情况自己想办法解决,一般来说是依赖不能满足!
⑶ 如何编译和调试android源码中platform/system/core下的代码
首先在Android源代码目录下的build目录下,有个脚本文件envsetup.sh,执行这个脚本文件后,就可以获得一些有用的工具:
USER-NAME@MACHINE-NAME:~/Android$ . ./build/envsetup.sh
注意,这是一个source命令,执行之后,就会有一些额外的命令可以使用:
- croot: Changes directory to the top of the tree.
- m: Makes from the top of the tree.
- mm: Builds all of the moles in the current directory.
- mmm: Builds all of the moles in the supplied directories.
- cgrep: Greps on all local C/C++ files.
- jgrep: Greps on all local java files.
- resgrep: Greps on all local res/*.xml files.
- godir: Go to the directory containing a file.
这些命令的具体用法,可以在命令的后面加-help来查看,这里我们只关注mmm命令,也就是可以用它来编译指定目录的所有模块,通常这个目录只包含一个模块。
⑷ 如何实现在线编译调试代码
就是执行shell命令进行编译运行等操作。
看看这里:
http://www.php.net/manual/zh/ref.exec.php
温馨提示:代码有风险,编译需谨慎。做好过滤逻辑以免使得服务挂掉。
⑸ 在VS2010的VC++中如何编译、链接、运行、调试程序
在vc2010中看不到像VC6.0显式的编译、连接按钮了。只有工具栏(启动调试)和菜单栏(测试)
这些功能包含编译、链接、运行(调试)所有步骤,都一键完成。
实际上这些功能是编译器使用以下工具实现的:
编译器CL.EXE,将.c/.cpp源代码编译成目标代码.obj,
连接器LINK.EXE,将目标代码和库连接生成最终文件;
资源编译器RC.EXE(.rc)将资源编译,最终通过连接器存入最终文件.
注意编译准备:VCVARS32.bat拷贝到当前的workspace下在cmd下执行之后就可以
直接使用这些编译工具在cmd下编译.
-----------------------------------------------------------
例子:记事本编辑hello.c,在按照上面要求拷贝到当前目录下,打开cmd
CL.EXE /c hello.c只编译不连接
LINK.EXE hello.obj 用到的库文件,生成可执行文件.如:
LINK.EXE hello.obj user32.lib
RC.EXE Hello.rc
-----------------------------------------
CL.EXE,LINK.EXE,vcvars32.bat所在目录:假定VS2010使用默认安装路径
C:Program FilesMicrosoft Visual Studio 10.0VCin
rc.exe所在路径:
C:Program FilesMicrosoft SDKsWindowsv7.1ABin
注意:
(1)这些EXE文件在vs2010下可能存在多个不同路径,但都是一样的,可以通用
(2)如果电脑上安装了不同的VS版本,这些文件会不同,注意区分。使用同一VS版本下的文件。
⑹ VS2010里怎么编译与调试C++程序
首先建好你的程序,然后按上面的绿色的三角号进行编译,调试:在程序里打上断点,然后按f5进行调试,OK
⑺ 怎样在VC程序编译过程中进行调试
编译的时候是不能调试的哦,调试只能在编译好之后,VC中默认DEBUG模式,在编译时加入调试信息,然后按下F5即可进行调试,F9下断点,F10单步跳过, F11单步跟入...SHIFT F5停止调试。。。这是最简单的操作,详细网络吧...
⑻ Editplus如何编译调试程序
这个是需要配置的;在配置EditPlus之前是先将Java的运行环境安装且调试好,然后进入EditPlus,从菜单“工具(Tools)”; “配置用户工具...”进入用户工具设置,选择“组和工具条目”中的“Group 1”,点击面板右边的“组名称...”按钮,将文本Group1”修改成“Java编译程序”,点击“添加工具”按钮,选择应用程序,
然后就是修改属性:
1. 添加编译功能
“菜单文本”里的内容修改为“Javac”;“命令”选择安装JDK后的Bin目录中的编译程javac.exe,我的JDK 安装路径为“Crogram FilesJDKj2sdk1.4.2_08”,那么此路径为“CrogramFilesJavajdk1.5.0injavac.exe”;
“参数”选择“文件名”,即显示为“$(FileName)”;
“初始目录”选择“文件目录”,显示为“$(FileDir)”;选择“捕获输出”复选框
2. 添加执行功能
“菜单文本”里的内容修改为“Java”;
“命令”选择安装JDK后的BIN目录中的编译程序java.exe,路径为“Crogram FilesJavajdk1.5.0injava.exe”;
“参数”选择“不带扩展名的文件名”,即显示为“$(FileNameNoExt)”;
“初始目录”选择“文件目录”,显示为“$(FileDir)”;千万不用选择“捕获输出”复选框!不然不会弹出命令控制台!
这样就完成了EditPlus的基本设置,可以写一段Java程序进行调试,通过Ctrl+1进行编译,使用Ctrl+2运行程序,错误提示都会显示在输出窗口中,双击某一行错误信息,EditPlus会自动定位到出错行,怎么样?一个简单的Java IDE界面就出现了。
要把你写的.java代码保存到你的java文件夹里才行
⑼ 如何在Linux 9.0下运用命令进行C语言编程以及编译、调试、运行
vi或者vim 编辑你的语言,然后用 gcc 编译, 编译好之后会在当前目录生成 a.out 的文件(或者可以使用 -o 参数修改文件名。),执行该文件就可以运行了。
⑽ 在linux里,c程序的编辑、编译、调试的详细步骤是什么
(1)用工具写好C程序...比如vi
(2)打开终端,进入你存放C语言代码的路径 例如: cd /opt/
(3)gcc a.c -o abc 意思是:把你的a.c编译成abc可执行文件
(4)在当前目录终端下 运行生成的abc,例如: ./abc 前面的.不要掉了
后面可以用gdb进行调试,你可以自己去学习...这是最基本的!!