SDL系列讲解(五) 调试c代码

前言

为什么我们需要调试c呢?因为我们有时调用SDL的某个方法,发现没有起作用,就想一探究竟,去看看代码流程具体怎么走的,于是这一节,我们来掌握此技巧。

调试

首先,我们从File菜单,选择Project Structure...

点击左侧下方的app,在右上方的横向菜单中,选择Build Types,这里将Debuggable 以及 Jni Debuggable 选为Ture。

然后我们选择菜单上的app按钮,选择Edit Configurations...

然后在右侧的Debugger下面,将Debug type设置成Dual,如此之后,我们就可以调试Java和C代码了。

然后我们验证下,在app\src\main\java\org\libsdl\app\SDLActivity.java 在onCreate方法的第一行代码前面,加入一个断点。

同时我们在main.c的main方法的if (SDL_Init(SDL_INIT_VIDEO) < 0)前面,加上断点。

然后我们在菜单Run->Debug 'app',选择我们的手机(记得连接手机,调试)

点击OK,等待手机运行,会发现我们的断点起了作用

这时,我们可以看到运行的当前栈,同时我们可以使用按F8 F7去跟进,或者跳出继续。

原文发布于微信公众号 - 代码GG之家(code_gg_home)

原文发表时间:2017-10-11

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏我有一个梦想

Python 项目实践三(Web应用程序)第一篇

一 Djangao入门 当今的网站实际上都是富应用程序(rich application),就像成熟的桌面应用程序一样。Python提供了一组开发Web应用程序...

40760
来自专栏马涛涛的专栏

Cookie与Session、LocalStorage与Sessionstorage 对比

SessionStorage 在用户关闭页面(准确的来说是会话(Session)结束)后就失效。其余的和localstorage一样

23620
来自专栏zhangdd.com

linux服务器性能检测工具nmon使用

今天介绍一款linux系统服务器性能检测的工具-nmon及nmon_analyser (生成性能报告的免费工具),亲测可用。 一.介绍 nmon 工具可以帮...

39130
来自专栏有刻

Nginx 原理解析和配置摘要

44590
来自专栏编程直播室

Ionic 2 问题集Console.log 不输出编译Android报错:compileArmv7DebugJavaWithJavac一些更新命令错误:Error: listen EADDRINUS

46140
来自专栏嵌入式程序猿

带你看看飞思卡尔工程自动生成神器

精彩内容 飞思卡尔的工程自动生成器可以快速建立基于SDK的工程,让用户快速建立评估工程,提高开发速度,那么如何使用工程自动生成神器呢,今天就带来精彩内容 简介 ...

39470
来自专栏跟着阿笨一起玩NET

WSDL手动生成WebService代理类的方法

通常要手动生成WebService代理类需要把一句生成语句,如 wsdl.exe /l:cs /out:D:\Proxy_UpdateService.cs ht...

52810
来自专栏互联网软件技术

input上传文件个数控制

83330
来自专栏Jerry的SAP技术分享

单步调试理解webpack里通过require加载nodejs原生模块实现原理

在webpack和nodejs里,我们经常使用require函数加载原生模块或者开发人员自定义的模块。

17620
来自专栏木头编程 - moTzxx

AJAX 下拉无刷新分页加载

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u011415782/article/de...

40110

扫码关注云+社区

领取腾讯云代金券