5 ms·
SASM – Simple Crossplatform IDE for Assembly Languages
- qwertyuiop924 10y agoThis is pretty neat. Neat enough to make me use it over Emacs? ...maybe. But Emacs+GDB is pretty hard to beat. Unless you're an MDB user, I suppose. Other than syntax, I never really saw the difference. GAS support is nice. I actually like AT&T syntax, but I seem to be in the minority on that.
- webkike 10y agoEmacs + gdb is something I have absolutely never seen in any "featurful IDE." It's an absolutely incredible development experience!
- pjmlp 10y agoI never saw it like that in the days I had to change Borland, Zortech and VS experience by UNIX one in the late 90's, and from my latest experiences it hardly changed. DDD was always one of the gdb frontends I installed to make things somehow better.
- webkike 10y ago> I never saw it like that in the days I had to change Borland, Zortech and VS experience by UNIX one in the late 90's, I'm not sure I understand what you mean by this. Can you explain? Also, what did you not like about the experience?
- vidarh 10y agogdb is ok if your needs are simple, and great if you have very complex needs where your need the scripting etc. But it's awful if you want to e.g. quickly step through a bunch of assembler and get a thorough overview of registers + stack frames + dereferencing random chunks of memory. You can do all of it, and with emacs you can do all of it in buffers, but it feels terribly clunky to me, coming from e.g. Amiga assembly IDE's like AsmOne, that while overall more primitive than gdb, has good defaults for the UI that makes the information most people want very easily available. Emacs + gdb is like getting your debugger delivered as flatpack and having to assemble it yourself. Great when finally get it just the way you want it, but the learning curve is horrible.
- pjmlp 10y agoVidarh already explained it quite good. Also there was no support to display structures graphically (ddd could do it though). Nowadays modern graphical debuggers also provide a very nice set of features to debug multi-core code.
- qwertyuiop924 10y agoDon't many GDB frontends provide this, however?
- pjmlp 10y agoBack then it was only DDD in regards to data structures. I mean converting a struct into a visual tree, navigable between nodes, think UML like. As for parallel debugging I am not aware of any front-end with the same feature set as modern IDE debuggers.
- qwertyuiop924 10y agoOkay. Well, then, now we know.
- reidrac 10y agoI was a fan of DDD back in the day (long ago, when the Motif based UI was OK), but that was because I really didn't know how to use plain gdb. I'm actually surprised that DDD continues (somewhat, there was a release in 2009).
- groovy2shoes 10y agoI still think the Motif GUI is OK. It's ugly by modern standards, but it's functional, fast, and works wayyyy faster over the network than anything GTK- or Qt-based. Any toolkit that renders with X primitives tends to actually be functional over the network; anything that renders with pixmaps not so much. That pretty much leaves Athena, Motif, Tk, and a handful of custom GUIs like the one you find in xv. They're mostly all ugly, but there's really no reason an Xlib/XCB/Xt-based GUI must be ugly -- it's just that at some point everyone decided to start rendering via pixmaps so the ones that don't are all old at this point. Personally, I'll deal with the ugliness if it means I have a responsive UI! Bonus points for small binary, small memory footprint, and stable API.
- qwertyuiop924 10y agoHeh. Given how Athena itself seems to be run atop ubuntu these days, I wonder how MIT gets all the GUIs working. Unless the architecture of Athena has changed radically, and it's no longer using networked X...
- groovy2shoes 10y agoI mean libXaw ("X Athena Widgets", and its siblings Xaw3d, Xaw3dXft, neXtaw, etc.). I'd be very surprised if the total Athena project even still uses it for any new code given how old-skool it is.
- qwertyuiop924 10y agoI doubt they do either. I was just wondering how Athena runs over a network, given it's using GUIs with pixmap primitives.
- qwertyuiop924 10y agoYou do know that GDB has a curses interface, similar to the Borlands one? It's on on by default, but it exists.
- pjmlp 10y agoI was referring to the Windows 3.x versions, not MS-DOS.
- qwertyuiop924 10y agoAh.
- treehau5 10y agoDo you have any resources you can link for learning? I tried to learn Emacs before and I ended up with cramped pinkies. Conversely, gdb looks like black magic to me.
- webkike 10y agoI found it was straight forward enough to not necessitate any tutorials, even at a young age. I would say maybe just watch a video on the topic. I know for one thing a lot of colleges have recorded sessions explaining. The only real black magic I ever found was GDB script, which is also kind of straightforward
- qwertyuiop924 10y agoGDB has fairly complete documentation. Like most FSF projects, the documentation is amazingly complete, and also fantastically comprehensible. If you want to use GDB, it's a good place to look. Brendan Gregg had a blog post about using GDB that was on HN a few months back, which also helps explain some of the basics. Finally, Google is, of course, your friend. As for Emacs, the first step is remapping control onto your your capslock key. It ought to stop your pinkies from cramping. xmodmap, xkbcomp, or xkb rules all provide relatively simple ways to do this. Which one you'll use depends on your distro. It's a fairly common procedure, so you can probably find instructions for your system online. The next step is to install useful elisp packages, configure your settings, and learn all the bindings, as well as how to do the above. The excellent emacswiki can help with this. If you're interested in a more vi-like experience, spacemacs is apparently an excellent starting config/package for this. If you're not a vi fan, however, I'd stay away from it. You can find it on github.
- groovy2shoes 10y agoRemapping caps lock to control is one of the best things I've ever done in terms of configuration (along with switching to a tiling window manager). I'm not even (primarily) an emacs user, but have been a vim user for over a decade. It wasn't even an awkward switch -- it felt natural almost immediately, and I never get any kind of finger or wrist pain anymore. I do it on all of my systems. Here's a cheat sheet: X11: Stick `setxkbmap -option 'ctrl:swapcaps'` in your ~/.xsession (if using a display manager), ~/.xinitrc (if using startx or xinit), or your startup programs if you're using a fancy-schmancy desktop environment. Linux vtty: Run `loadkeys emacs.map` (provided it's available in /usr/share/kbd/keymaps/). It's a good idea to stick this in your rc.local or rc.conf.local or whatever the hell the systemd equivalent is. OpenBSD vtty: Run `kbd us.swapctrlcaps` (there are similar variants for uk and some other keyboards). To make it "permanent", `echo 'us.swapctrlcaps' >/etc/kbdtype`. OSX / macOS: There's a dropdown menu in the System Preferences under "Keyboard & Mouse". Windows: You'll need to edit the registry. Follow the instructions here: http://superuser.com/a/916887 http://superuser.com/a/916887 . I don't have info for other systems handy, but it's most likely just a quick Google search away.
- throwaway2016a 10y agoI've used Vim + GDB quite successfully.
- ckugblenu 10y agoWhen i was a teaching assistant for a Microprocessors course(undergrad), I used SASM and the students really liked the low entry barrier. Combined it with masm for Assembly fundamentals. Recommend it.