LLDebugTool is a debugging tool for developers and testers. It can help you analyze and manipulate data without Xcode.

Select LLDebugTool for your next project, or migrate to your existing project – you’ll be pleasantly surprised!

Gif


ScreenShots





Last updated (1.1.5)

Dynamically enable or disable functional modules

– Added an options LLConfigAvailableFeature in LLConfig to control whether a module in LLDebugTool is enabled or not. Now you can start/stop modules dynamically. For more changes, see Version 1.1.5 Project.

new

  • inLLConfigAdded an options option to theLLConfigAvailableFeatureUsed to control whether the function is enabledLLDebugToolNow you can start/stop a module dynamically.
  • LLConfigLogStyleAdd two enumerated values,LLConfigLogFileFuncDesc and LLConfigLogFileDesc.

update

  • updateLLAppHelperLLConfigClean up the code.
  • Modify theLLConfigNow you can modify it dynamically at run timecolorStyle and windowStyle, more effects can be seen in demo.
  • Modify theLLSubTitleTableViewCellFixed a bug with UITextView in ios 8.

other

  • Updated the demo and now looks much more comfortable.

What can I do with LLDebugTool?

  • Check network requests or view logs for certain events without having to run under XCode. This is useful in solving testers’ problems.

  • Filter useful information more easily.

  • Deal with contingencies more easily.

  • Easier analysis of crash causes.

  • Easier to share, preview, or delete sandbox files, which is useful during the development phase.

  • Easier to see App CPU, memory, FPS, etc.

Add LLDebugTool to your project

CocoaPods

CocoaPods is the preferred way to integrate LLDebugTool.

  1. addpod 'LLDebugTool'Put it in your Podfile. Add if you only want to use it in Debug modepod 'LLDebugTool' ,:configurations => ['Debug']Go to your Podfile for details on how to configure itHow to use Wiki/ only in Debug environment.
  2. The input terminalpod installTo integrate. Search is less thanLLDebugTool, can run firstpod repo updateAnd then to performpod install.
  3. Add LLDebugTool to the file you need to use#import "LLDebug.h"Or add it directly to the PCH file#import "LLDebug.h".

Carthage

Carthage is a decentralized dependency manager that builds your dependencies and provides you with a framework framework.

  1. To integrate LLDebugTool into your Xcode project using Carthage, add this line to “Cartfile” :
github "LLDebugTool"
Copy the code
  1. runcarthageTo build the framework and drag the built “llDebugTool. framework” into the Xcode project.

The source file

You can add a source file named LLDebugTool folder directly to the project.

  1. Download the latest version of the code or add the repository as a Git submodule to your Git trace project.
  2. Open the project in Xcode and drag the source folder named “LLDebugTool” into your project. When prompted to Choose Options for adding these files, be sure to check Copy Items if needed.
  3. Integrate FMDB, an open source library of Objective-C wrappers around SQLite, into your project.
  4. Add LLDebugTool to the file you need to use#import "LLDebug.h"Or add it directly to the PCH file#import "LLDebug.h".

How to use

Start the

You need to “application: (UIApplication *) application didFinishLaunchingWithOptions: (NSDictionary * Launch LLDebugTool in launchOptions, otherwise you may lose some information.

If you want to customize some parameters, you need to configure them before calling “startWorking”. For more detailed configuration information, see llconfig.h.

  • Quick start
#import "AppDelegate.h"
#import "LLDebug.h"

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    // The default color configuration is green background and white text color. 

    // Start working.
    [[LLDebugTool sharedTool] startWorking];
    
    // Write your project code here.
    return YES;
}
Copy the code
  • Start with a custom configuration
#import "AppDelegate.h"
#import "LLDebug.h"

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    // The default color configuration is LLConfigColorStyleHack. 
    
    // If you want to use other color configurations, you can use the following line.
    [LLConfig sharedConfig].colorStyle = LLConfigColorStyleSimple;
    
    // If you want to use a custom color configuration, you can use the following line.
    [[LLConfig sharedConfig] configBackgroundColor:[UIColor orangeColor] textColor:[UIColor whiteColor] statusBarStyle:UIStatusBarStyleDefault];
    
    // If you don't want to use color configuration, you can use the following line. [LLConfig sharedConfig].useSystemColor = YES; // Start working. [[LLDebugTool sharedTool] startWorking]; // Write your project code here. return YES; }Copy the code

The log

Print and save a log. See llLogHelper.h for more log macro information.

  • Save the log
#import "LLDebug.h"

- (void)testNormalLog {
    // Insert an LLog where you want to print.
    LLog(@"Message you want to save or print.");
}
Copy the code
  • Save Log with event and level
#import "LLDebug.h"

- (void)test
- (void)testEventErrorLog {
    // Insert an LLog_Error_Event where you want to print an event and level log.
    LLog_Error_Event(@"The event that you want to mark. such as bugA, taskB or processC."The @"Message you want to save or print.");
}
Copy the code

Network request

You don’t need to do anything, just call “startWorking” to monitor most network requests, including NSURLSession, NSURLConnection, and AFNetworking. Please open an issue to let me know if you find some situations where you cannot monitor network requests.

collapse

You don’t need to do anything, just call “startWorking” to intercept the crash, save crash information, cause and stack information, and also save current network requests and log information.

The App information

LLDebugTool monitors the CPU, memory, and FPS of the app. You can view all kinds of information in the app more easily.

sandbox

LLDebugTool provides a quick way to view and manipulate sandbox files. You can easily delete files/folders in sandbox or share files/folders with AirDrop. As long as the file format is supported by Apple, you can preview it directly through LLDebugTool.

Use more

  • You can check out the Wiki for more help.
  • You can download and run LLDebugToolDemo to find out more about LLDebugTool. Demo runs on XCode9.3, ios 11.3, cocoapods 1.5.0, please let me know if there are any version compatibility issues.

requirements

LLDebugTool supports ios8+ and requires ARC mode. The framework used is already included in most Xcode templates:

  • UIKit

  • Foundation

  • SystemConfiguration

  • Photos

  • malloc

  • mach-o

  • mach

  • QuickLook

  • objc

  • sys

structure

  • Lldebug. h Public header file.

  • LLConfig Configuration file.

    Use to customize colors, sizes, logos, and other information. If you want to configure anything, you need to pay attention to this file.

  • LLDebugTool tool file.

    To start and stop LLDebugTool, you need to look at the file “llDebugTool.h”.

  • Helper Helper files.

    If you are not interested in how the functionality works, you can ignore this folder.

    • LLAppHelperUsed to monitor various properties of the application.
    • LLCrashHelperUsed to collect crash information when the App crashes.
    • LLLogHelperPrint and save logs quickly.
    • LLNetworkHelperUsed to monitor network requests.
    • LLSandboxHelperThe Sandbox Helper. Use to view and manipulate sandbox files.
    • LLStorageManagerStorage Helper. Used for data storage and reading.
  • UserInterface UI file.

    If you want to modify, view, or learn something about the UI, you can check out this folder.

    • BaseThe parent class file
    • CategoriesClass extensions
    • OthersNon-generic control
    • ResourcesImage resources
    • SectionsView controller
    • Tooltool

contact

  • If you need help, open an issue.
  • If you want to ask a general question, open an issue.
  • If you find a bug.And can provide reliable replication steps, open an issue.
  • If you have a feature request, open an issue.
  • If you find something wrong or you don’t like, open an issue.
  • If you have some good ideas or requirements, please email me ([email protected]).
  • If you want to contribute, submit a pull Request.

contact

  • You can send me a private message in Jane’s book.
  • You can send them to [email protected]

Update log

A brief summary of each LLDebugTool version can be found in CHANGELOG.