Spark IDEA 调试(反编译)
1)以WordCount为例,具体代码如下:
import org.apache.spark.SparkConf
import org.apache.spark.SparkContext;
import org.apache.spark.SparkContext._
/**
* Created by hfz on 2016/4/21.
*/
object test2 {
def main (args: Array[String]){
var conf=new SparkConf().setAppName("WordCount").setMaster("local");
var sc=new SparkContext(conf);
var rdd=sc.textFile("data/README.md");
rdd.flatMap(_.split(" ")).map((_,1)).reduceByKey(_+_);
rdd.collect(); } }
如果我们希望深入到sc.textFile()内部搞清楚都做了什么操作,如果是Java的话,我们直接CTRL+B,IDEA就自动把jar包中的字节码反编译为Java源码,并且,我们可以直接下个断点调试程序,但是对于Scala,IDEA的反编译效果并不是很好,如下图所示:
2)提示“Source not found”,我们在看textFile()方法,只可以看到方法的参数列表,方法体的内容却看不到,只能看到“compiled code”也就是“编译后的代码”。解决方法如下:
a.下载Spark1.4源码
b.然后点击右上角的“Attach Source”,添加源码,如下所示:
添加路径是“spark1.4.0/core/src/main/scala/org”,然后点击OK确定。“Attching”完成之后,我们就可以看到textFile()的方法体了,并且可以像之前调试hadoop一样,在这个方法下断点,运行程序的时候,会在这里命中断点,如下所示(这里只是加了个断点,没有调试):
Spark IDEA 调试(反编译)的更多相关文章
- 使用jadx反编译 调试“XX值得买”APP获取接口签名key(一)
闲来无事,想抓取一下"XX值得买"上排行榜的即时数据,按照通用方法 安装夜神模拟器 新增android 5.0版模拟器 安装xposed框架 安装JustTrustMe.apk 打 ...
- 反编译与调试APK
0×01前言 这年头,apk全都是加密啊,加壳啊,反调试啊,小伙伴们表示已经不能愉快的玩耍了.静态分析越来越不靠谱了,apktool.ApkIDE.jd GUI.dex2jar等已经无法满足大家的需求 ...
- .NET 反编译调试神器:dnSpy了解一下
如果客户环境出了问题,而又无法快速定位问题,可以借助dnSpy进行反编译调试跟踪. 可前往dnSpy官网下载或直接从我的分享链接下载(内置包含.NET Framework 4.7.1,若运行提示需要安 ...
- Android Studio 动态调试 apk 反编译出的 smali 代码
在信安大赛的准备过程中,主要通过 Android Studio 动态调试 apk 反编译出来的 smali 代码的方式来对我们分析的执行流程进行验证.该技巧的主要流程在此记录.以下过程使用 Andro ...
- 反编译apk + eclipse中调试smali
1.对apk使用apktool反编译出可调试的smali代码到out文件夹 apktool -d d 定点加粉丝_com.mingniu.wxddjfs_440.apk -o out 这里必须使用-d ...
- [Android]反编译apk + eclipse中调试smali
从来没有想过反编译apk是来的如此方便,并且还可以修改后重新编译运行,这比在win下修改pe容易多了,感谢apktool和smali工具的作者提供这么好的工具. 跟踪apk一般的做法是在反编译的sma ...
- Android反编译调试源码
Android反编译调试源码 1. 反编译得到源码 直接在windows 命令行下输入命令java -jar apktool_2.0.0.jar d -d 小米运动_1.4.641_1058.apk ...
- 为Eclipse添加反编译插件,更好的调试
为Eclipse添加反编译插件,更好的调试 一般来说,我们的项目或多或少的都会引用一些外部jar包,如果可以查看jar包的源代码,对于我们的调试可以说是事半功倍. 1.下载并安装jad.exe.将ja ...
- VS混淆/反编译/远程调试/Spy++的Tools工具
VS的Tools工具(混淆/反编译/远程调试/Spy++等) https://blog.csdn.net/chunyexiyu/article/details/14445605 参考:http://b ...
随机推荐
- tcp/ip网络协议学习
链路层介绍 网络层协议的数据单元是 IP 数据报 ,而数据链路层的工作就是把网络层交下来的 IP 数据报 封装为 帧(frame)发送到链路上,以及把接收到的帧中的数据取出并上交给网络层. 以太网 以 ...
- HDU 2084 DP经典例子---数塔问题
http://acm.hdu.edu.cn/showproblem.php?pid=2084 #include "iostream" #include "cstdio&q ...
- 图论:2-SAT
先象征性地描述一下问题:一组(或者一个)东西有且仅有两种选择,要么选这个,要么选那个,还有一堆的约束条件 图论问题,当然是建边跑图喽 给出模型: 模型一:两者(A,B)不能同时取 那么选择了A就只能选 ...
- 【BZOJ2742】【HEOI2012】Akai的数学作业 [数论]
Akai的数学作业 Time Limit: 10 Sec Memory Limit: 128 MB[Submit][Status][Discuss] Description 这里是广袤无垠的宇宙这里 ...
- [POJ1144][BZOJ2730]tarjan求割点
求割点 一种显然的n^2做法: 枚举每个点,去掉该点连出的边,然后判断整个图是否联通 用tarjan求割点: 分情况讨论 如果是root的话,其为割点当且仅当下方有两棵及以上的子树 其他情况 设当前节 ...
- Jackson对多态和多子类序列化的处理配置
目录 Jackson 多态类型的处理 Jackson Jackson可以轻松的将Java对象转换成json对象和xml文档,同样也可以将json.xml转换成Java对象. 多态类型的处理 jacks ...
- DWM.EXE进程(Desktop Window Manager)不能删除
英文全拼:Desktop Window Manager(DWM) 进程描述:桌面窗口管理器文件位置:C:\Windows\System32进程简介:桌面窗口管理器是windows Vista及wind ...
- Linux 下编译安装OpenCV【转】
转自:http://www.cnblogs.com/emouse/archive/2013/02/22/2922940.html OpenCV 2.2以后版本需要使用Cmake生成makefile文件 ...
- Github上的几个C++开源项目
Github上的几个C++开源项目 http://blog.csdn.net/fyifei0558/article/details/47001677 http://www.zhihu.com/ques ...
- Google I/O完整盘点,这才是地球上最「性感」的发布会
https://news.cnblogs.com/n/569588/ Google.ai:展现 AI 最好的一面 Google 今天新发布了第二代的 Tensor 处理单元(TPU),这是一个云计算硬 ...