Skip to content

Instantly share code, notes, and snippets.

@jonasfj
Last active June 22, 2016 19:34
Show Gist options
  • Save jonasfj/64f7a4a265436a46ecf30f3823448ea3 to your computer and use it in GitHub Desktop.
Save jonasfj/64f7a4a265436a46ecf30f3823448ea3 to your computer and use it in GitHub Desktop.
example that gdb has no magic input limit for python scripts... As otherwise indicated in: https://github.com/baygeldin/gdb-js/blob/512c25d771b61ab1bbcd7b87d28eb73ca3e4c2cb/src/index.js#L13-L14
import os, json
print os.getcwd()
text = """
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aliquam nec lectus nibh. Pellentesque libero arcu, scelerisque ut porttitor id, mollis et nisi. Phasellus et urna facilisis, ullamcorper velit ac, pulvinar leo. Suspendisse potenti. Donec posuere, lectus at dapibus tristique, tortor leo porttitor libero, id vulputate ligula lacus ut risus. Etiam et auctor nisi. Praesent porttitor eu eros ut consequat. In aliquet neque a erat aliquet, euismod mollis erat lobortis. Duis malesuada odio at ante rhoncus, non varius massa porttitor. Cras at condimentum lorem. Ut efficitur massa id vestibulum ullamcorper. Donec lacinia hendrerit velit, vel facilisis nunc fermentum eu. Praesent nec ligula vulputate, pharetra turpis ac, facilisis sem. Mauris in dui elementum, pharetra elit vel, vulputate ligula. Sed sit amet odio eu dui pulvinar lobortis.
Aenean quis ligula non arcu fringilla placerat. Cras vel orci purus. Pellentesque nec enim nec mauris iaculis eleifend. Mauris ut tincidunt libero. Nam efficitur dui malesuada quam mattis, vitae lacinia risus sodales. Morbi at magna non elit ultricies rutrum ut ac ligula. Sed cursus risus nec sem rhoncus dignissim. Pellentesque luctus molestie nibh. Nam faucibus massa id consectetur pharetra. Phasellus nisl magna, luctus id lobortis eget, lacinia ac diam. Curabitur sed tincidunt quam. Curabitur vestibulum pulvinar erat ut tristique. Morbi ipsum enim, varius eget enim quis, suscipit lobortis urna. Cras tristique vitae metus et molestie. In dignissim orci a justo tincidunt pulvinar.
Sed vitae ex ex. In hac habitasse platea dictumst. Vestibulum est nunc, imperdiet non pretium nec, commodo facilisis purus. In posuere, nisi at vulputate posuere, nibh lorem imperdiet ligula, vitae egestas massa nisi vel odio. Pellentesque euismod dui aliquet orci eleifend pharetra. Praesent congue, nisi in sodales sagittis, nunc orci mattis lectus, in eleifend urna nibh in eros. Mauris eget commodo sem, eget aliquam metus. Donec ac turpis ac sapien porttitor pulvinar. Quisque nibh orci, varius non libero feugiat, egestas aliquet est. Pellentesque porttitor felis nibh, at commodo neque scelerisque varius. Mauris tempor, tellus vitae bibendum tincidunt, sem lectus dictum nunc, a imperdiet eros purus vitae nibh. Curabitur bibendum, ligula eget scelerisque feugiat, ante arcu dapibus risus, sit amet fermentum urna lorem in quam.
Vivamus condimentum nulla et eros molestie, eget sagittis turpis ultrices. Duis ac ultrices mauris. Maecenas eget rutrum est, in convallis eros. Sed ultricies nisi elit, eu ultrices nisl iaculis vitae. Mauris at blandit diam. Maecenas ornare, eros ut vehicula auctor, dolor sem mattis justo, non volutpat arcu augue ut leo. Nulla nec quam velit. Maecenas molestie risus sem, eget bibendum quam sollicitudin nec. Vivamus vel ipsum venenatis, dignissim quam sed, vulputate velit. Pellentesque ipsum purus, elementum id suscipit id, vestibulum vel nibh. In sagittis, quam a interdum ornare, nisi arcu interdum mi, a bibendum ante magna vitae eros. Nam mauris nisi, facilisis nec mauris non, egestas porta urna. Cras eget pellentesque magna. Fusce sit amet odio quis odio aliquam consequat ut eu nibh.
Etiam a leo id ipsum pharetra volutpat ut ultricies ipsum. Suspendisse fringilla ultrices turpis, non accumsan justo interdum id. Etiam ultricies at nunc a tempor. Nam iaculis facilisis aliquet. Ut dui sapien, mollis eu dui et, lobortis congue augue. Praesent sagittis ligula eu metus ultricies accumsan. In hac habitasse platea dictumst. Nam non diam eget nisl convallis maximus. Pellentesque ultrices auctor bibendum. In ac lobortis nunc. Vestibulum ac rhoncus massa. Ut eleifend leo risus, sed suscipit eros laoreet ac. Proin euismod vehicula dictum.
Nulla malesuada turpis ac ante aliquet consequat quis id nisi. Nulla luctus blandit lacus, vel interdum libero iaculis a. Vestibulum at pellentesque dui, sed suscipit risus. Sed sed pellentesque massa. In quis mauris placerat, finibus tortor id, malesuada sem. In hac habitasse platea dictumst. Nullam viverra magna eget nulla varius placerat. Phasellus blandit sollicitudin sapien, quis ultricies sapien rhoncus ut. Aenean pellentesque est eu nibh ultricies venenatis.
Praesent leo tellus, porta at justo eget, viverra dictum nisi. Proin pretium nisl augue, at interdum urna ultrices eu. Sed varius suscipit neque, at venenatis ante lobortis nec. Vivamus in velit tristique, consequat augue et, vehicula tellus. Aliquam eget varius sapien. Quisque facilisis diam in molestie tempus. Ut gravida dapibus ipsum vitae malesuada.
Etiam lacinia mi in nisl sollicitudin, a tincidunt ipsum condimentum. Cras at orci neque. In eget ullamcorper ex. Sed sagittis, turpis eget interdum mollis, velit mauris scelerisque leo, et eleifend enim ligula ac libero. Nullam ac ullamcorper risus. Vivamus consectetur tellus felis, nec fermentum libero dapibus ut. Donec congue bibendum purus, nec blandit lacus scelerisque sed. Phasellus pretium sodales turpis ut fermentum. Mauris sollicitudin luctus ex, id vulputate mi vestibulum in. Praesent fringilla nibh sed vehicula sagittis.
Vivamus non faucibus lorem. Morbi justo dui, vulputate a finibus vel, ultrices condimentum tortor. Fusce eget elit a metus dignissim iaculis et sit amet tellus. Sed venenatis a nunc tincidunt ultricies. Proin quis erat vel mauris pulvinar vestibulum. Donec nec dui nibh. Donec commodo quam non diam faucibus pretium. Fusce sit amet dui placerat, tincidunt diam ac, aliquam augue. Mauris tortor neque, sollicitudin nec luctus vitae, vestibulum vitae elit. Phasellus dignissim nisl quis risus iaculis laoreet. Suspendisse mattis malesuada massa, at volutpat mi porta vitae.
Nullam gravida augue in enim sodales, id pellentesque dui blandit. Nunc pulvinar enim diam, id pulvinar elit viverra a. Nunc vel libero nec urna bibendum rutrum vitae blandit est. Phasellus egestas pharetra nulla nec pharetra. Integer commodo rhoncus arcu imperdiet suscipit. Vestibulum hendrerit orci malesuada congue malesuada. Vivamus dictum efficitur risus eget eleifend. Nullam faucibus faucibus magna nec imperdiet. Donec porta quam eu dolor auctor, in sodales ex blandit. Curabitur condimentum accumsan vulputate.
Duis a tincidunt elit, et ultrices dolor. Nulla vulputate neque eu magna consequat tincidunt. Etiam sit amet sem fermentum, volutpat lectus nec, vehicula risus. Nam id tincidunt arcu. Vestibulum non tempor dolor, volutpat molestie nisl. Morbi viverra lectus sit amet convallis sagittis. Aliquam erat volutpat. Sed scelerisque est magna, ut interdum ante viverra vel. Nunc viverra a ante vel malesuada.
Nunc ullamcorper nisi ex, ac mattis ipsum dignissim in. Nunc cursus arcu sed porta suscipit. Maecenas tempus, nunc quis mattis eleifend, orci elit egestas magna, non varius lorem elit non felis. Fusce cursus magna non pellentesque luctus. Curabitur tempor ex quis consectetur varius. Donec nec magna est. Quisque auctor quam non nunc varius volutpat. Vestibulum id arcu sem. Integer hendrerit sem in mauris varius, vehicula auctor arcu imperdiet. Nunc eu risus vitae tellus auctor ultricies eget blandit ex. Donec eu magna nisi. Morbi dignissim nisi at porttitor dapibus.
Etiam sollicitudin elementum mauris, ac commodo odio suscipit in. Phasellus vulputate, nibh id vulputate lobortis, arcu arcu elementum nisl, ac aliquam tellus massa ac nibh. Aliquam mattis, est et mattis cursus, risus diam semper arcu, ac efficitur augue massa vel mauris. Cras ex est, ullamcorper et feugiat in, luctus at leo. Praesent sollicitudin nunc luctus ultrices luctus. Etiam sit amet tellus et ante tincidunt venenatis. Maecenas eleifend tristique urna vehicula aliquam. Proin ac ultrices eros, quis dictum odio. In hac habitasse platea dictumst. Donec nunc felis, sodales ut augue at, suscipit feugiat libero. Proin maximus ante et purus blandit, ac blandit odio sagittis. Phasellus tristique urna mauris, in posuere urna rutrum vel.
Cras ultricies vestibulum quam, in lobortis enim euismod vitae. Cras a lacus iaculis, vehicula libero posuere.
"""
print "here we have text that is: %s characters long" % len(text)
# let's try dump some data:
sys.stdout.write(json.dumps({"prop": "a property", "list": [1,2,3]}))
sys.stdout.flush() # Remember to flush or ^done may come before the output!!!
#!/bin/bash -e
# This is just a quick and dirty hack... To see how it works, try to run:
# echo -e "-interpreter-exec console \"python\\\\n`cat test.py | sed ':a;N;$!ba;s/\n/\\\\\\\\n/g;s/"/\\\\"/g'`\"\n-gdb-version"
# and change the test.py file to contain a very small text string or it'll fill your terminal :)
# Basically, it runs:
# -interpreter-exec console "python\n<test.py>"
# -gdb-version
# Where \n and " have escaped from <test.py>. The number of double slashes here
# is just to counter "echo -e"... Should be a lot cleaner in javascript :)
echo -e "-interpreter-exec console \"python\\\\n`cat test.py | sed ':a;N;$!ba;s/\n/\\\\\\\\n/g;s/"/\\\\"/g'`\"\n-gdb-version" | gdb --interpreter=mi
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment