{ "info": { "author": "Dan Dedrick", "author_email": "dan.dedrick@gmail.com", "bugtrack_url": null, "classifiers": [ "License :: OSI Approved :: MIT License", "Operating System :: POSIX :: Linux", "Programming Language :: Python :: 2", "Programming Language :: Python :: 3", "Topic :: Utilities" ], "description": "# straceexec\n[![Build Status](https://travis-ci.org/dandedrick/straceexec.svg?branch=master)](https://travis-ci.org/dandedrick/straceexec)\n\n\nstraceexec is a python script that allows for playback and analysis of\nexecve commands from strace logs. This is useful for debugging commands\nembedded several layers deep with significant automated setup. One specific\nuse case would be debugging specific commands from a build system that setup\nmany environment variables or have complex command line invocations.\n\n\n## Usage\n```\n# strace -f -v -s 10000 -o strace.log ninja\n# straceexec strace.log\n0: ninja -:ENV:- LANG=en_US.UTF-8 USERNAME=ddedrick SHELL=/bin/bash output=default GDM_LANG=en_US.UTF EDITOR=vimx PATH=/u\n1: /bin/sh -c /usr/lib64/ccache/cc -Dfoo_EXPORTS -fPIC -MD -MT CMakeFiles/foo.dir/foo.c.o -MF CMakeFiles/foo.dir/foo.c.o\n2: /usr/lib64/ccache/cc -Dfoo_EXPORTS -fPIC -MD -MT CMakeFiles/foo.dir/foo.c.o -MF CMakeFiles/foo.dir/foo.c.o.d -o CMakeF\n3: /bin/sh -c : && /usr/lib64/ccache/cc -fPIC -shared -Wl,-soname,libfoo.so.0 -o libfoo.so.0.3.0 CMakeFiles/foo.dir/fo\n4: /usr/lib64/ccache/cc -fPIC -shared -Wl,-soname,libfoo.so.0 -o libfoo.so.0.3.0 CMakeFiles/foo.dir/foo.c.o -:ENV:- LANG=\n5: /usr/bin/cc -fPIC -shared -Wl,-soname,libfoo.so.0 -o libfoo.so.0.3.0 CMakeFiles/foo.dir/foo.c.o -:ENV:- LANG=en_US.UTF\n6: /usr/libexec/gcc/x86_64-redhat-linux/8/collect2 -plugin /usr/libexec/gcc/x86_64-redhat-linux/8/liblto_plugin.so -plugi\n7: /usr/bin/ld -plugin /usr/libexec/gcc/x86_64-redhat-linux/8/liblto_plugin.so -plugin-opt=/usr/libexec/gcc/x86_64-redhat\n8: /bin/sh -c /usr/bin/cmake -E cmake_symlink_library libfoo.so.0.3.0 libfoo.so.0 libfoo.so && : -:ENV:- LANG=en_US.UTF-\n9: /usr/bin/cmake -E cmake_symlink_library libfoo.so.0.3.0 libfoo.so.0 libfoo.so -:ENV:- LANG=en_US.UTF-8 USERNAME=ddedri\nEnter the number of the command you would like to execute\n\tAppend an n to not copy the environment\n\tAppend a p to print the full command and exit\n\tAppend a g to run under gdb\nSelect: 1\n```\n\n\nstrace output should be collected with -v to ensure that arguments are not\nleft off and -s with a sufficiently large size so that they are not\ntruncated.\n\n\nBy default the command will be run and will have the same environment setup\nas is found in the strace output. Several options are available for\nmodifying this behavior. Appending an ```n``` will use the current\nenvironment instead of the one present in the strace log. Appending a\n```p``` will not exec the command but instead print it in full along with\nits environment. Appending a ```g``` will start start up gdb with the\nexecutable, arguments, and environment already setup.\n\n\n## Contributing\nContributions, issues, and feature requests are welcome. Feel free to open\npull requests or issues as needed.\n\n\n## Author\nWritten by Dan Dedrick to simplfy isolating, reproducing and tweaking build\nsystem issues.\n\n\n## License\nstraceexec is distributed under the MIT license. See the included LICENSE\nfile for details.\n\n\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/dandedrick/straceexec", "keywords": "", "license": "", "maintainer": "", "maintainer_email": "", "name": "straceexec", "package_url": "https://pypi.org/project/straceexec/", "platform": "", "project_url": "https://pypi.org/project/straceexec/", "project_urls": { "Homepage": "https://github.com/dandedrick/straceexec" }, "release_url": "https://pypi.org/project/straceexec/1.0.0/", "requires_dist": null, "requires_python": "", "summary": "A tool for executing commands based on strace output", "version": "1.0.0" }, "last_serial": 4483267, "releases": { "1.0.0": [ { "comment_text": "", "digests": { "md5": "3706fd4f91f3b53546bf07572b83f00d", "sha256": "fd679fd4014be617ebf054bd47e1c43ae0139b7635f02d77b5bece437e2d984b" }, "downloads": -1, "filename": "straceexec-1.0.0-py2-none-any.whl", "has_sig": false, "md5_digest": "3706fd4f91f3b53546bf07572b83f00d", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 6281, "upload_time": "2018-11-13T21:29:06", "url": "https://files.pythonhosted.org/packages/33/c9/ec5b686c2fde89567131fc7fcfdd58e927d40643ff29010f17a78cbf845c/straceexec-1.0.0-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e181d31461901936f28bedf5de4ac07c", "sha256": "088607bc1e69822d95ab99caab28189b1d913f86fae52e974e4de47f63a41810" }, "downloads": -1, "filename": "straceexec-1.0.0-py3-none-any.whl", "has_sig": false, "md5_digest": "e181d31461901936f28bedf5de4ac07c", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 6282, "upload_time": "2018-11-13T21:29:07", "url": "https://files.pythonhosted.org/packages/92/5d/7d1bba221e477ddff48600b13633daf880b149ba1e0e7d10b6cbe9a92c58/straceexec-1.0.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "46738b0399d42720dcb52518b97435c8", "sha256": "feac66b75a73abdd38e9391dbda4b2f2a8c62951da527e4a01b2c64b06cc6039" }, "downloads": -1, "filename": "straceexec-1.0.0.tar.gz", "has_sig": false, "md5_digest": "46738b0399d42720dcb52518b97435c8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4798, "upload_time": "2018-11-13T21:29:10", "url": "https://files.pythonhosted.org/packages/90/16/0e259644657cdd4a51499df91314e475ce0c7a9b6324d9c1e58a4302aab1/straceexec-1.0.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "3706fd4f91f3b53546bf07572b83f00d", "sha256": "fd679fd4014be617ebf054bd47e1c43ae0139b7635f02d77b5bece437e2d984b" }, "downloads": -1, "filename": "straceexec-1.0.0-py2-none-any.whl", "has_sig": false, "md5_digest": "3706fd4f91f3b53546bf07572b83f00d", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 6281, "upload_time": "2018-11-13T21:29:06", "url": "https://files.pythonhosted.org/packages/33/c9/ec5b686c2fde89567131fc7fcfdd58e927d40643ff29010f17a78cbf845c/straceexec-1.0.0-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e181d31461901936f28bedf5de4ac07c", "sha256": "088607bc1e69822d95ab99caab28189b1d913f86fae52e974e4de47f63a41810" }, "downloads": -1, "filename": "straceexec-1.0.0-py3-none-any.whl", "has_sig": false, "md5_digest": "e181d31461901936f28bedf5de4ac07c", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 6282, "upload_time": "2018-11-13T21:29:07", "url": "https://files.pythonhosted.org/packages/92/5d/7d1bba221e477ddff48600b13633daf880b149ba1e0e7d10b6cbe9a92c58/straceexec-1.0.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "46738b0399d42720dcb52518b97435c8", "sha256": "feac66b75a73abdd38e9391dbda4b2f2a8c62951da527e4a01b2c64b06cc6039" }, "downloads": -1, "filename": "straceexec-1.0.0.tar.gz", "has_sig": false, "md5_digest": "46738b0399d42720dcb52518b97435c8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4798, "upload_time": "2018-11-13T21:29:10", "url": "https://files.pythonhosted.org/packages/90/16/0e259644657cdd4a51499df91314e475ce0c7a9b6324d9c1e58a4302aab1/straceexec-1.0.0.tar.gz" } ] }