darchons / android-gdb Goto Github PK
View Code? Open in Web Editor NEWGDB fork targetting Android/Fennec development
Home Page: https://wiki.mozilla.org/Android/GDB
License: GNU General Public License v2.0
GDB fork targetting Android/Fennec development
Home Page: https://wiki.mozilla.org/Android/GDB
License: GNU General Public License v2.0
README for GNU development tools This directory contains various GNU compilers, assemblers, linkers, debuggers, etc., plus their support routines, definitions, and documentation. If you are receiving this as part of a GDB release, see the file gdb/README. If with a binutils release, see binutils/README; if with a libg++ release, see libg++/README, etc. That'll give you info about this package -- supported targets, how to use it, how to report bugs, etc. It is now possible to automatically configure and build a variety of tools with one command. To build all of the tools contained herein, run the ``configure'' script here, e.g.: ./configure make To install them (by default in /usr/local/bin, /usr/local/lib, etc), then do: make install (If the configure script can't determine your type of computer, give it the name as an argument, for instance ``./configure sun4''. You can use the script ``config.sub'' to test whether a name is recognized; if it is, config.sub translates it to a triplet specifying CPU, vendor, and OS.) If you have more than one compiler on your system, it is often best to explicitly set CC in the environment before running configure, and to also set CC when running make. For example (assuming sh/bash/ksh): CC=gcc ./configure make A similar example using csh: setenv CC gcc ./configure make Much of the code and documentation enclosed is copyright by the Free Software Foundation, Inc. See the file COPYING or COPYING.LIB in the various directories, for a description of the GNU General Public License terms under which you can copy the files. REPORTING BUGS: Again, see gdb/README, binutils/README, etc., for info on where and how to report problems.
Seems like not all target threads are stopped when gdbserver attaches. Need to investigate.
Sometimes when doing operations on symbols I get crashes in lookup_objfile_from_block() on symtab.c:1260
The BLOCKVECTOR on struct symtab *s is NULL which is presumably the cause of the crash.
The filename for the symtab in question is nsIRedirectChannelRegistrar.h
For example,
(gdb) call (int)getpid()
We have a fork that adds in Objective-C support (although a bit hacky in places) at https://github.com/apportable/gdb. Let me know if you'd like a pull request.
The native libs on the Nexus 9 appear to be 64-bit. Or at least some of them. And this confuses jimdb currently. When attaching, I get:
gdb.error: "/Users/snorp/source/jimdb-arm/lib/HT4BAJT01519/system/bin/app_process": not in executable format: File format not recognized
/Users/snorp/source/jimdb-arm/bin/../utils/gdbinit:136: Error in sourced command file:
Error occurred in Python command: "/Users/snorp/source/jimdb-arm/lib/HT4BAJT01519/system/bin/app_process": not in executable format: File format not recognized
And indeed, app_process is 64-bit.
$ file lib/HT4BAJT01519/system/bin/app_process
lib/HT4BAJT01519/system/bin/app_process: ELF 64-bit LSB shared object, version 1 (SYSV), dynamically linked (uses shared libs), stripped
When I run moz-gdb/bin/gdb on my Ubuntu 12.04 machine, with a Galaxy S device connected, I get:
GNU gdb (GDB) 7.3-android-github.com/darchons
Copyright (C) 2011 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type "show copying"
and "show warranty" for details.
This GDB was configured as "--host=x86_64-unknown-linux-gnu --target=arm-elf-linux".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
New ADB device is "I897e057faf6"
Using device I897e057faf6
Using object directory: /hack/mozilla-central/obj-mobile-debug
Set sysroot to "/hack/moz-gdb/lib/I897e057faf6".
Updated solib-search-path.
Using package org.mozilla.fennec_bjacob.
Done
Attaching to parent (pid 5465)... as non-root...
/hack/moz-gdb/bin/../utils/gdbinit:68: Error in sourced command file:
gdbserver exited unexpectedly
This line 68 in gdbinit is where we run feninit. Same problem when running gdbserver and feninit manually.
This problem was reproduced with the same phone on another PC. On the same PCs, other phones work fine with moz-gdb.
Also, this Galaxy S phone does have gdbserver, and running it manually seem to work fine by itself.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.