What does “.line” mean in smali code syntax? (Android-Smali Code)
Please take a look at this question
Decompiled smali code contains things like .line 3
or .line 7
.
I cannot understand what .line
is supposed to be, please elaborate on the usage.
java android mobile syntax smali
add a comment |
Please take a look at this question
Decompiled smali code contains things like .line 3
or .line 7
.
I cannot understand what .line
is supposed to be, please elaborate on the usage.
java android mobile syntax smali
add a comment |
Please take a look at this question
Decompiled smali code contains things like .line 3
or .line 7
.
I cannot understand what .line
is supposed to be, please elaborate on the usage.
java android mobile syntax smali
Please take a look at this question
Decompiled smali code contains things like .line 3
or .line 7
.
I cannot understand what .line
is supposed to be, please elaborate on the usage.
java android mobile syntax smali
java android mobile syntax smali
edited May 23 '17 at 12:32
Community♦
11
11
asked Aug 16 '13 at 13:05
Behzad GhBehzad Gh
9517
9517
add a comment |
add a comment |
2 Answers
2
active
oldest
votes
.line n
markers are used for debugging and stacktraces. When an exception goes uncaught, or the stacktrace needs to be filled in, the line number is taken from the .line
statement. If this were missing, then stacktraces would lack line numbers.
can i remove .line markers when i want to recompile smali codes ?
– Behzad Gh
Aug 16 '13 at 13:11
@user2525702 As per what I have already stated, yes, but debugging will be harder.
– Andrey Akhmetov
Aug 16 '13 at 13:16
1
@user2525702.line
is the line in the original Java sourcecode that translates to the following part of smali. If you remove them you probably don't get nice Exception stacktraces likeat com.foo.bar.Bar(Bar.java:85)
– zapl
Aug 16 '13 at 13:29
@user2525702 But why do you want to do this? Simply recompile the original source with the modifications.
– Simon
Aug 16 '13 at 15:30
2
@Simon its useful when you inspect closed source application for potential malware code in them.
– DevZer0
Mar 1 '14 at 11:48
|
show 2 more comments
Almost everything in the smali language has a direct analogue in the dalvik bytecode or dex format.
The .line directive in particular corresponds to the position entries emitted by the state machine that the debug_info_item defines, as specified at https://source.android.com/devices/tech/dalvik/dex-format.
add a comment |
Your Answer
StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f18274031%2fwhat-does-line-mean-in-smali-code-syntax-android-smali-code%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
2 Answers
2
active
oldest
votes
2 Answers
2
active
oldest
votes
active
oldest
votes
active
oldest
votes
.line n
markers are used for debugging and stacktraces. When an exception goes uncaught, or the stacktrace needs to be filled in, the line number is taken from the .line
statement. If this were missing, then stacktraces would lack line numbers.
can i remove .line markers when i want to recompile smali codes ?
– Behzad Gh
Aug 16 '13 at 13:11
@user2525702 As per what I have already stated, yes, but debugging will be harder.
– Andrey Akhmetov
Aug 16 '13 at 13:16
1
@user2525702.line
is the line in the original Java sourcecode that translates to the following part of smali. If you remove them you probably don't get nice Exception stacktraces likeat com.foo.bar.Bar(Bar.java:85)
– zapl
Aug 16 '13 at 13:29
@user2525702 But why do you want to do this? Simply recompile the original source with the modifications.
– Simon
Aug 16 '13 at 15:30
2
@Simon its useful when you inspect closed source application for potential malware code in them.
– DevZer0
Mar 1 '14 at 11:48
|
show 2 more comments
.line n
markers are used for debugging and stacktraces. When an exception goes uncaught, or the stacktrace needs to be filled in, the line number is taken from the .line
statement. If this were missing, then stacktraces would lack line numbers.
can i remove .line markers when i want to recompile smali codes ?
– Behzad Gh
Aug 16 '13 at 13:11
@user2525702 As per what I have already stated, yes, but debugging will be harder.
– Andrey Akhmetov
Aug 16 '13 at 13:16
1
@user2525702.line
is the line in the original Java sourcecode that translates to the following part of smali. If you remove them you probably don't get nice Exception stacktraces likeat com.foo.bar.Bar(Bar.java:85)
– zapl
Aug 16 '13 at 13:29
@user2525702 But why do you want to do this? Simply recompile the original source with the modifications.
– Simon
Aug 16 '13 at 15:30
2
@Simon its useful when you inspect closed source application for potential malware code in them.
– DevZer0
Mar 1 '14 at 11:48
|
show 2 more comments
.line n
markers are used for debugging and stacktraces. When an exception goes uncaught, or the stacktrace needs to be filled in, the line number is taken from the .line
statement. If this were missing, then stacktraces would lack line numbers.
.line n
markers are used for debugging and stacktraces. When an exception goes uncaught, or the stacktrace needs to be filled in, the line number is taken from the .line
statement. If this were missing, then stacktraces would lack line numbers.
answered Aug 16 '13 at 13:06
Andrey AkhmetovAndrey Akhmetov
29.6k45988
29.6k45988
can i remove .line markers when i want to recompile smali codes ?
– Behzad Gh
Aug 16 '13 at 13:11
@user2525702 As per what I have already stated, yes, but debugging will be harder.
– Andrey Akhmetov
Aug 16 '13 at 13:16
1
@user2525702.line
is the line in the original Java sourcecode that translates to the following part of smali. If you remove them you probably don't get nice Exception stacktraces likeat com.foo.bar.Bar(Bar.java:85)
– zapl
Aug 16 '13 at 13:29
@user2525702 But why do you want to do this? Simply recompile the original source with the modifications.
– Simon
Aug 16 '13 at 15:30
2
@Simon its useful when you inspect closed source application for potential malware code in them.
– DevZer0
Mar 1 '14 at 11:48
|
show 2 more comments
can i remove .line markers when i want to recompile smali codes ?
– Behzad Gh
Aug 16 '13 at 13:11
@user2525702 As per what I have already stated, yes, but debugging will be harder.
– Andrey Akhmetov
Aug 16 '13 at 13:16
1
@user2525702.line
is the line in the original Java sourcecode that translates to the following part of smali. If you remove them you probably don't get nice Exception stacktraces likeat com.foo.bar.Bar(Bar.java:85)
– zapl
Aug 16 '13 at 13:29
@user2525702 But why do you want to do this? Simply recompile the original source with the modifications.
– Simon
Aug 16 '13 at 15:30
2
@Simon its useful when you inspect closed source application for potential malware code in them.
– DevZer0
Mar 1 '14 at 11:48
can i remove .line markers when i want to recompile smali codes ?
– Behzad Gh
Aug 16 '13 at 13:11
can i remove .line markers when i want to recompile smali codes ?
– Behzad Gh
Aug 16 '13 at 13:11
@user2525702 As per what I have already stated, yes, but debugging will be harder.
– Andrey Akhmetov
Aug 16 '13 at 13:16
@user2525702 As per what I have already stated, yes, but debugging will be harder.
– Andrey Akhmetov
Aug 16 '13 at 13:16
1
1
@user2525702
.line
is the line in the original Java sourcecode that translates to the following part of smali. If you remove them you probably don't get nice Exception stacktraces like at com.foo.bar.Bar(Bar.java:85)
– zapl
Aug 16 '13 at 13:29
@user2525702
.line
is the line in the original Java sourcecode that translates to the following part of smali. If you remove them you probably don't get nice Exception stacktraces like at com.foo.bar.Bar(Bar.java:85)
– zapl
Aug 16 '13 at 13:29
@user2525702 But why do you want to do this? Simply recompile the original source with the modifications.
– Simon
Aug 16 '13 at 15:30
@user2525702 But why do you want to do this? Simply recompile the original source with the modifications.
– Simon
Aug 16 '13 at 15:30
2
2
@Simon its useful when you inspect closed source application for potential malware code in them.
– DevZer0
Mar 1 '14 at 11:48
@Simon its useful when you inspect closed source application for potential malware code in them.
– DevZer0
Mar 1 '14 at 11:48
|
show 2 more comments
Almost everything in the smali language has a direct analogue in the dalvik bytecode or dex format.
The .line directive in particular corresponds to the position entries emitted by the state machine that the debug_info_item defines, as specified at https://source.android.com/devices/tech/dalvik/dex-format.
add a comment |
Almost everything in the smali language has a direct analogue in the dalvik bytecode or dex format.
The .line directive in particular corresponds to the position entries emitted by the state machine that the debug_info_item defines, as specified at https://source.android.com/devices/tech/dalvik/dex-format.
add a comment |
Almost everything in the smali language has a direct analogue in the dalvik bytecode or dex format.
The .line directive in particular corresponds to the position entries emitted by the state machine that the debug_info_item defines, as specified at https://source.android.com/devices/tech/dalvik/dex-format.
Almost everything in the smali language has a direct analogue in the dalvik bytecode or dex format.
The .line directive in particular corresponds to the position entries emitted by the state machine that the debug_info_item defines, as specified at https://source.android.com/devices/tech/dalvik/dex-format.
edited Nov 24 '18 at 11:23
Community♦
11
11
answered Aug 16 '13 at 16:21
JesusFrekeJesusFreke
15.5k44659
15.5k44659
add a comment |
add a comment |
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f18274031%2fwhat-does-line-mean-in-smali-code-syntax-android-smali-code%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown