{"id":21358165,"url":"https://github.com/raycad/android-valgrind","last_synced_at":"2026-03-17T14:19:38.235Z","repository":{"id":50837601,"uuid":"42097745","full_name":"raycad/android-valgrind","owner":"raycad","description":"Instructions for automatically detect memory management, threading bugs and profile your Android applications in detail.","archived":false,"fork":false,"pushed_at":"2021-05-28T15:51:19.000Z","size":63600,"stargazers_count":13,"open_issues_count":1,"forks_count":7,"subscribers_count":3,"default_branch":"master","last_synced_at":"2023-03-12T08:47:24.088Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/raycad.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2015-09-08T07:45:50.000Z","updated_at":"2023-02-22T19:25:55.000Z","dependencies_parsed_at":"2022-08-27T16:30:34.773Z","dependency_job_id":null,"html_url":"https://github.com/raycad/android-valgrind","commit_stats":null,"previous_names":[],"tags_count":null,"template":null,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/raycad%2Fandroid-valgrind","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/raycad%2Fandroid-valgrind/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/raycad%2Fandroid-valgrind/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/raycad%2Fandroid-valgrind/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/raycad","download_url":"https://codeload.github.com/raycad/android-valgrind/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":225844810,"owners_count":17533161,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-22T05:14:52.912Z","updated_at":"2026-03-17T14:19:33.205Z","avatar_url":"https://github.com/raycad.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"Instructions for automatically detect memory management, threading bugs and profile Android applications on the ROOTED device in detail.\n\n1. Connect to the Android device\n\n\t$ adb connect [device_ip]\n\n2. Go to the Android Valgrind's folder\n\n\t$ cd [android-valgrind]\t\n\n3. Install Android Valgrind to the device\n\n\t$ ./install_android_valgrind.sh\n\n4. Copy and start the specific package with Valgrind in the device\n\n\t$ ./bootstrap_valgrind.sh\n\n\tNOTES: \n\n\t- You need to change the \"PACKAGE\" to your package name in both 2 script files: bootstrap_valgrind.sh and start_valgrind.sh\n\n\t- Change the output file path name from the script start_valgrind.sh\n\n\t- Change to use Callgrind or Memcheck tools from the script start_valgrind.sh\n\n\t- Change a tool from the script start_valgrind.sh\n\n\t\tMemcheck tool: a memory error detector\n\n\t\tMassif tool: a heap profiler\n\n\t\tCallgrind tool: a cache and branch-prediction profiler\n\n\t\tHelgrind tool: a thread error detector\n\n\t\tDHAT: a dynamic heap analysis tool\n\n\tThe log files of the example will be created at /sdcard/enzo_lync_profiles on the Android device.\n\n5. See outputs\n\n\t- Install massif-visualizer to view massif logs on Ubuntu\n\n\t\t$ sudo add-apt-repository ppa:kubuntu-ppa/backports \n\n\t\t$ sudo apt-get update\n\n\t\t$ sudo apt-get install massif-visualizer\n\n\t\t$ massif-visualizer\n\n\t- Install KCachegrind to view Cachegrind logs on Ubuntu\n\n\t\t$ sudo apt-get install kcachegrind\n\n\t\t$ kcachegrind\n\n\tIf you have problems in viewing logs using those valgrind viewers you can open the log files using any text editor to trace the information.\n\n6. Make sure Valgrind is running on the device\n\n\t$ adb shell \"top | grep valgrind\"\n\n\tAll applications will run very slowly when valgrind service is running so you need to restart device to refresh the device. Or you can stop the Valgrind and reset property by using the following command:\n\n\t$ adb shell \"setprop wrap.[PACKAGE] ''\"\n\n\tE.g:\n\t\n\t$ adb shell \"setprop wrap.com.harman.lync ''\"\n\n\t$ adb shell \"kill -9 [valgrind_pid]\"\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fraycad%2Fandroid-valgrind","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fraycad%2Fandroid-valgrind","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fraycad%2Fandroid-valgrind/lists"}