Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 9226039
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: June 18, 20262026-06-18T04:43:54+00:00 2026-06-18T04:43:54+00:00

I am trying to debug a library whose source I don’t have, so I’m

  • 0

I am trying to debug a library whose source I don’t have, so I’m using LLDB disassembly a lot. I was wondering if there was a way to automatically run disassemble after every call to ‘thread step-in.’ Currently, when I do ‘thread step-in,’ LLDB executes the instruction, and then returns with a blank prompt. To see, where the EIP moved to, I need to type disassemble after every thread step-in, which is extremely distracting and annoying (also, LLDB doesn’t seem to end expressions with ‘;’ so putting multiple commands on one line doesn’t work.)

More generally, I was wondering if there is a way to create an alias for multiple LLDB commands in succession: For example a single alias that could print the contents of %rdi, then disassemble 10 lines around EIP. (Yes, I could write python script for it, but I don’t have that much time on my hand 🙁

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-06-18T04:43:55+00:00Added an answer on June 18, 2026 at 4:43 am

    Yes, the correct way to do this is via the Python scripting interface. There was a deliberate decision to avoid gdb’s approach of cramming enough flow-control and execution logic in the debugger’s command language to make this possible (or rather — to make it possible… poorly). Instead of that approach, there is a low barrier where you need to use Python to accomplish a task — but the full power of the debugger is available through some pretty easy-to-use interfaces in Python. lldb leaves the scripting language to Python and concentrates on providing a clean and powerful API that is easy to use from Python.

    But to address your goal here, why won’t the stop-disassembly-count setting do what you need? In fact, it should already be doing what you want unless you’ve disabled disassembly display in your ~/.lldbinit file by changing the default setting of stop-disassembly-display.

    (lldb) settings show stop-disassembly-count
    stop-disassembly-count (int) = 4
    (lldb) settings show stop-disassembly-display
    stop-disassembly-display (enum) = no-source
    (lldb) 
    

    lldb’s default behavior is to show some kind of context when you are stepping through a program. If source code is available, it will show the source you’re stepping through. If no source, it will show the assembly instructions that are about to be executed. There is a little bug when you have debug information (so the debugger knows file and line numbers) but the source code is unavailable (or at a different path) — right now lldb will show you disassembly but that is not the correct behavior for this case. Users are still operating at a source level (using s and n to step, instead of si and ni for instruction-level stepping) and lldb should show no context in this instance, just displaying the source file name and line number.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I am trying to debug mapreduce jobs written in python's mrjob library using eclipse
I'm trying to debug .so library, using NDK for Android. I'm able to build
I am trying to debug my problem. I have imported a library that will
I am trying to debug my problem. I have imported a library a co-worker
I'm trying to debug a static library using MFC in Visual Studio 2008. When
I am trying to debug a few regular expressions using: perl -Mre=debug file.pl The
I am trying to debug a multi-threaded Android app on a 2.3.6 device using
I'm trying to debug a third party library that is throwing an null reference
I'm trying to debug a native shared library that my App uses through JNI.
I'm trying to create a 'debug' shared library (i.e., .so or .dll file) that

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.