{"id":5818,"date":"2022-11-27T16:32:13","date_gmt":"2022-11-27T22:32:13","guid":{"rendered":"https:\/\/www.logikalsolutions.com\/wordpress\/?p=5818"},"modified":"2024-08-17T05:41:55","modified_gmt":"2024-08-17T10:41:55","slug":"core-dumps-2","status":"publish","type":"post","link":"https:\/\/www.logikalsolutions.com\/wordpress\/information-technology\/core-dumps-2\/","title":{"rendered":"Using Your Core Dumps"},"content":{"rendered":"\n<p>So, you <a href=\"https:\/\/www.logikalsolutions.com\/wordpress\/information-technology\/core-dumps\/\" target=\"_blank\" rel=\"noreferrer noopener\">read the last post<\/a> and now know where to find your core dumps, great. Now what? That always seems to be the question, doesn&#8217;t it. What good is a core dump? The answer is &#8220;They can be really good, but you need tools.&#8221;<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Emacs<\/h2>\n\n\n\n<p>No matter how much you hate it, no matter how much you think it is from the stone age, no matter how bloated you think it is, install <a href=\"https:\/\/www.gnu.org\/software\/emacs\/\" target=\"_blank\" rel=\"noreferrer noopener\">GUI Emacs<\/a>. Set it to an emulation mode you can tolerate and keep a cheat sheet of keyboard shortcuts. Even if you never use it to do actual software development, for <a href=\"https:\/\/en.wikipedia.org\/wiki\/GNU_Debugger\" target=\"_blank\" rel=\"noreferrer noopener\">GDB<\/a> and core dumps its invaluable. (You can learn more about Emacs in <a href=\"https:\/\/www.theminimumyouneedtoknow.com\/emacs_book.html\">my latest book covering Emacs<\/a>.)<\/p>\n\n\n\n<p>There are some gdb GUI front ends that look pretty and might even be tempting. Most of them don&#8217;t give you access to the gdb command prompt. When they can&#8217;t format your text or whatever data type you need to look at, you are screwed. You can find a way to view it if you are willing to dig and work from the command line.<\/p>\n\n\n\n<p><em>Why not just gdb from the command line?<\/em> When I&#8217;m working with an embedded system that doesn&#8217;t have much, sure. When you are working in a world that already has fire you don&#8217;t need to discover it on your own.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Launch the Debugger<\/h2>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img decoding=\"async\" width=\"749\" height=\"364\" src=\"https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2022\/11\/emacs-gdb-1.png\" alt=\"\" class=\"wp-image-5819\" srcset=\"https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2022\/11\/emacs-gdb-1.png 749w, https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2022\/11\/emacs-gdb-1-300x146.png 300w\" sizes=\"(max-width: 749px) 100vw, 749px\" \/><\/figure>\n<\/div>\n\n\n<p>unless someone has really tweaked your Emacs configuration the prompt at the bottom of the screen should look like this.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img decoding=\"async\" width=\"295\" height=\"60\" src=\"https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2022\/11\/emacs-gdb-2.png\" alt=\"\" class=\"wp-image-5820\"\/><\/figure>\n<\/div>\n\n\n<p>You now need to tell it now only what program to load, but where that program is.<\/p>\n\n\n\n<p><strong>What? I want to look at a core dump!<\/strong><\/p>\n\n\n\n<p>Yes you do and GDB needs to know what supposedly originated the dump. You also need to have as much as possible compiled and linked with debugging information at the point in time when the dump was created. First you tell it the program, next you tell it the core dump file.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Load Your Application<\/h2>\n\n\n\n<p>If you do much work from the Linux terminal command line you will be happy to know the TAB key can be used for completion here as well. Those of you who don&#8217;t know about it either learn to type or read up on it.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img decoding=\"async\" width=\"732\" height=\"751\" src=\"https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2022\/11\/emacs-gdb-33.png\" alt=\"\" class=\"wp-image-5830\" srcset=\"https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2022\/11\/emacs-gdb-33.png 732w, https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2022\/11\/emacs-gdb-33-292x300.png 292w\" sizes=\"(max-width: 732px) 100vw, 732px\" \/><\/figure>\n<\/div>\n\n\n<p>Yes that is a really long command line. Yes, you need to have the full path for everything. Those little bent arrows you see in the margin on each side is how Emacs indicates a wrap. After you hit return you should see something a bit more wonderful.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img decoding=\"async\" width=\"732\" height=\"751\" src=\"https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2022\/11\/emacs-gdb-34.png\" alt=\"\" class=\"wp-image-5831\" srcset=\"https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2022\/11\/emacs-gdb-34.png 732w, https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2022\/11\/emacs-gdb-34-292x300.png 292w\" sizes=\"(max-width: 732px) 100vw, 732px\" \/><\/figure>\n<\/div>\n\n\n<p>Yes, command line grunts are pointing out Emacs hasn&#8217;t done much for you. It actually has but that isn&#8217;t so obvious. More importantly it can and will because you will have a somewhat nice editor to look at code in . . . assuming you see a line much like this:<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#0F111A\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" data-code=\"Reading symbols from \/home\/roland\/sf_projects\/copperspice_examples_install\/Example6\/example6\u2026\" style=\"color:#babed8;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki material-theme-ocean\" style=\"background-color: #0F111A\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #FFCB6B\">Reading<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #C3E88D\">symbols<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #C3E88D\">from<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #C3E88D\">\/home\/roland\/sf_projects\/copperspice_examples_install\/Example6\/example6\u2026<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p>That means you had all of your paths correct and things matched up beautifully. It&#8217;s not quite as grand as a full GUI tool that could not only bring you up to exactly where you crashed with multiple beautifully formatted windows, but it will work.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">LWP<\/h2>\n\n\n\n<p>I and many other professionals contend that Linux does not have processes. It has threads it calls processes and lighter weight threads it calls &#8220;threads.&#8221; It&#8217;s a deep geekly argument and you would have had to start out on real computers with real operating systems and taken an Assembly class for that platform. If you started out on x86 you are fighting an artillery war without any shells. Emacs agrees. LWP = Light Weight Process.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">A Few commands to know<\/h2>\n\n\n\n<p>I&#8217;m not going through an exhaustive tutorial, I&#8217;m not qualified. Depending on what add-on packages your Emacs installation has, you may have commands only five people in the universe know about. I&#8217;m just going to try and point you in the correct direction.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img decoding=\"async\" width=\"401\" height=\"264\" src=\"https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2022\/11\/emacs-gdb-35.png\" alt=\"\" class=\"wp-image-5832\" srcset=\"https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2022\/11\/emacs-gdb-35.png 401w, https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2022\/11\/emacs-gdb-35-300x198.png 300w\" sizes=\"(max-width: 401px) 100vw, 401px\" \/><\/figure>\n<\/div>\n\n\n<p>You see, all of the cheesy GDB core dump examples online compile their own tiny little program with an obvious coding bug, generate a core dump, then say &#8220;Isn&#8217;t this great!&#8221; When they get the core dump file loaded for the executable the dump information takes them exactly to the line causing the problem and they have complete source for it. <\/p>\n\n\n\n<p>You will notice that didn&#8217;t happen here. <\/p>\n\n\n\n<p>I have the entire CsScintilla library compiled in debug as well as my application. We didn&#8217;t bounce right into the offending source. It wouldn&#8217;t even help if I had all of CopperSpice compiled with debug because the point of fatality is quite a ways away.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img decoding=\"async\" width=\"398\" height=\"95\" src=\"https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2022\/11\/emacs-gdb-38.png\" alt=\"\" class=\"wp-image-5833\" srcset=\"https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2022\/11\/emacs-gdb-38.png 398w, https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2022\/11\/emacs-gdb-38-300x72.png 300w\" sizes=\"(max-width: 398px) 100vw, 398px\" \/><\/figure>\n<\/div>\n\n\n<p>You can use the <strong>Up Stack<\/strong> button to navigate back in the call stack and the <strong>Down Stack<\/strong> button if you went too far back.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img decoding=\"async\" width=\"222\" height=\"95\" src=\"https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2022\/11\/emacs-gdb-39.png\" alt=\"\" class=\"wp-image-5834\"\/><\/figure>\n<\/div>\n\n\n<p>Some people will advise you to just jump straight to <strong>bt full<\/strong>.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img decoding=\"async\" width=\"974\" height=\"723\" src=\"https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2022\/11\/emacs-gdb-40.png\" alt=\"\" class=\"wp-image-5835\" srcset=\"https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2022\/11\/emacs-gdb-40.png 974w, https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2022\/11\/emacs-gdb-40-300x223.png 300w, https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2022\/11\/emacs-gdb-40-768x570.png 768w\" sizes=\"(max-width: 974px) 100vw, 974px\" \/><\/figure>\n<\/div>\n\n\n<p>You will get many screens worth of stuff dumped. If you are really lucky you will find one of your source lines listed. Don&#8217;t think you are going to be lucky if you are using a large framework.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" width=\"1024\" height=\"158\" src=\"https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2022\/11\/emacs-gdb-41-1024x158.png\" alt=\"\" class=\"wp-image-5836\" srcset=\"https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2022\/11\/emacs-gdb-41-1024x158.png 1024w, https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2022\/11\/emacs-gdb-41-300x46.png 300w, https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2022\/11\/emacs-gdb-41-768x119.png 768w, https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2022\/11\/emacs-gdb-41.png 1306w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<p>If that&#8217;s a bit too tiny for you to read, my <strong>bt full<\/strong> went all the way back to main.cpp line 57.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img decoding=\"async\" width=\"688\" height=\"455\" src=\"https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2022\/11\/emacs-gdb-43.png\" alt=\"\" class=\"wp-image-5837\" srcset=\"https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2022\/11\/emacs-gdb-43.png 688w, https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2022\/11\/emacs-gdb-43-300x198.png 300w\" sizes=\"(max-width: 688px) 100vw, 688px\" \/><\/figure>\n<\/div>\n\n\n<p>That&#8217;s why you always have to have your third party libraries built with debug. At least now you  know which one(s) you need to build with debug information. After that, it is matter of walking back through the stack and examining local variables, perhaps dumping a memory location.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Threads<\/h2>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img decoding=\"async\" width=\"465\" height=\"402\" src=\"https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2022\/11\/emacs-gdb-13.png\" alt=\"\" class=\"wp-image-5826\" srcset=\"https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2022\/11\/emacs-gdb-13.png 465w, https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2022\/11\/emacs-gdb-13-300x259.png 300w\" sizes=\"(max-width: 465px) 100vw, 465px\" \/><\/figure>\n<\/div>\n\n\n<p>The previous was just looking at the thread that caused the core dump. It&#8217;s possible it got passed bad info from another thread. At any rate, you need to know how to view and navigate. Yes you can brute force this from the command line, but Emacs already provides a buffer.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" width=\"1024\" height=\"160\" src=\"https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2022\/11\/emacs-gdb-44-1024x160.png\" alt=\"\" class=\"wp-image-5838\" srcset=\"https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2022\/11\/emacs-gdb-44-1024x160.png 1024w, https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2022\/11\/emacs-gdb-44-300x47.png 300w, https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2022\/11\/emacs-gdb-44-768x120.png 768w, https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2022\/11\/emacs-gdb-44-1536x240.png 1536w, https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2022\/11\/emacs-gdb-44.png 1612w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>You need the &#8220;thread id&#8221; to switch between threads. Believe it or not, it is the little number on the far left, not the nice big hex number or the LWP.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" width=\"1024\" height=\"125\" src=\"https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2022\/11\/emacs-gdb-47-1024x125.png\" alt=\"\" class=\"wp-image-5840\" srcset=\"https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2022\/11\/emacs-gdb-47-1024x125.png 1024w, https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2022\/11\/emacs-gdb-47-300x37.png 300w, https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2022\/11\/emacs-gdb-47-768x94.png 768w, https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2022\/11\/emacs-gdb-47.png 1442w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<p>Happy core dump analyzing!<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Linux Mint 21.3 and others<\/h2>\n\n\n\n<p>You can&#8217;t use Emacs, at least you can&#8217;t unless you figure out how to get the file into a raw dump format.  You might read the <a href=\"https:\/\/ftp.gnu.org\/old-gnu\/Manuals\/emacs-20.7\/html_chapter\/emacs_37.html\">Emacs command line documentation<\/a> and find a method of launching the debugger function so you can use it instead of raw terminal GDB, but here is how you use your dump file for now.<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers\" data-code-block-pro-font-family=\"Code-Pro-Deja-Vu-Mono.ttf\" style=\"font-size:.875rem;font-family:Code-Pro-Deja-Vu-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#b392f0;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#1f1f1f\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" data-code=\"coredumpctl gdb 13362\" style=\"color:#b392f0;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki min-dark\" style=\"background-color: #1f1f1f\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #B392F0\">coredumpctl <\/span><span style=\"color: #9DB1C5\">gdb<\/span><span style=\"color: #B392F0\"> <\/span><span style=\"color: #F8F8F8\">13362<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p>Again, that number at the end is the PID of the process that core dumped and I found it via<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers\" data-code-block-pro-font-family=\"Code-Pro-Deja-Vu-Mono.ttf\" style=\"font-size:.875rem;font-family:Code-Pro-Deja-Vu-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#b392f0;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#1f1f1f\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" data-code=\"ls -al \/var\/lib\/systemd\/coredump\" style=\"color:#b392f0;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki min-dark\" style=\"background-color: #1f1f1f\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #B392F0\">ls <\/span><span style=\"color: #9DB1C5\">-al<\/span><span style=\"color: #B392F0\"> <\/span><span style=\"color: #9DB1C5\">\/var\/lib\/systemd\/coredump<\/span><\/span><\/code><\/pre><\/div>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img decoding=\"async\" width=\"1024\" height=\"397\" src=\"https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2024\/04\/mint-coredump-output-1024x397.png\" alt=\"\" class=\"wp-image-6951\" srcset=\"https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2024\/04\/mint-coredump-output-1024x397.png 1024w, https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2024\/04\/mint-coredump-output-300x116.png 300w, https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2024\/04\/mint-coredump-output-768x298.png 768w, https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2024\/04\/mint-coredump-output.png 1099w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n<\/div>\n\n\n<p>Eventually you get dumped to the GDB command line and if your executable was compiled with Debug information you can learn much. The GDB commands I covered in the Emacs portion of this will work for you here as well. Even without a Debug build you can learn a lot.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img decoding=\"async\" width=\"1024\" height=\"683\" src=\"https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2024\/04\/mint-coredump-output-2-1024x683.png\" alt=\"\" class=\"wp-image-6953\" srcset=\"https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2024\/04\/mint-coredump-output-2-1024x683.png 1024w, https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2024\/04\/mint-coredump-output-2-300x200.png 300w, https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2024\/04\/mint-coredump-output-2-768x512.png 768w, https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2024\/04\/mint-coredump-output-2.png 1120w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n<\/div>\n\n\n<p>Yes, if you are working with core dumps, there is no way around learning GDB commands. You also really need to build everything in Debug.<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers\" data-code-block-pro-font-family=\"Code-Pro-Deja-Vu-Mono.ttf\" style=\"font-size:.875rem;font-family:Code-Pro-Deja-Vu-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#b392f0;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#1f1f1f\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" data-code=\"coredumpctl -A --tui gdb 13362\" style=\"color:#b392f0;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki min-dark\" style=\"background-color: #1f1f1f\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #B392F0\">coredumpctl <\/span><span style=\"color: #9DB1C5\">-A<\/span><span style=\"color: #B392F0\"> <\/span><span style=\"color: #9DB1C5\">--tui<\/span><span style=\"color: #B392F0\"> <\/span><span style=\"color: #9DB1C5\">gdb<\/span><span style=\"color: #B392F0\"> <\/span><span style=\"color: #F8F8F8\">13362<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p>Can be used to start GDB using its Curses based Text User Interface. Most grizzled old hands won&#8217;t mess with something so fancy, but I&#8217;m not them.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">You Have to Extract to Use Emacs<\/h2>\n\n\n\n<p>One can avoid the gdb tui or command line only interface by extracting. Just create a dumps directory under your HOME directory. <\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers\" data-code-block-pro-font-family=\"Code-Pro-Deja-Vu-Mono.ttf\" style=\"font-size:.875rem;font-family:Code-Pro-Deja-Vu-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#b392f0;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#1f1f1f\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" data-code=\"coredumpctl -o ~\/dumps\/reddiamond.coredump dump 13362\" style=\"color:#b392f0;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki min-dark\" style=\"background-color: #1f1f1f\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #B392F0\">coredumpctl <\/span><span style=\"color: #9DB1C5\">-o<\/span><span style=\"color: #B392F0\"> <\/span><span style=\"color: #9DB1C5\">~\/dumps\/reddiamond.coredump<\/span><span style=\"color: #B392F0\"> <\/span><span style=\"color: #9DB1C5\">dump<\/span><span style=\"color: #B392F0\"> <\/span><span style=\"color: #F8F8F8\">13362<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p>After that you will have a coredump file Emacs can use located in your \/home\/user\/dumps directory. If you want to skip looking up the PID, <\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers\" data-code-block-pro-font-family=\"Code-Pro-Deja-Vu-Mono.ttf\" style=\"font-size:.875rem;font-family:Code-Pro-Deja-Vu-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#b392f0;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#1f1f1f\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" data-code=\"coredumpctl -o ~\/dumps\/reddiamond.coredump dump \/usr\/bin\/reddiamond\" style=\"color:#b392f0;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki min-dark\" style=\"background-color: #1f1f1f\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #B392F0\">coredumpctl <\/span><span style=\"color: #9DB1C5\">-o<\/span><span style=\"color: #B392F0\"> <\/span><span style=\"color: #9DB1C5\">~\/dumps\/reddiamond.coredump<\/span><span style=\"color: #B392F0\"> <\/span><span style=\"color: #9DB1C5\">dump<\/span><span style=\"color: #B392F0\"> <\/span><span style=\"color: #9DB1C5\">\/usr\/bin\/reddiamond<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p>That command will create a new coredump file in your dumps directory for the last dump of the executable \/usr\/bin\/reddiamond. Do not forget the <strong>dump<\/strong> command. It&#8217;s easy to miss if you have long paths. After that you can just use Emacs like earlier in this post.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>So, you read the last post and now know where to find your core dumps, great. Now what? That always seems to be the question, doesn&#8217;t it. What good is a core dump? The answer is &#8220;They can be really good, but you need tools.&#8221; Emacs No matter how much you hate it, no matter how much you think it is from the stone age, no matter how bloated you think it is, install GUI &hellip; <a title=\"Using Your Core Dumps\" class=\"bnm-read-more\" href=\"https:\/\/www.logikalsolutions.com\/wordpress\/information-technology\/core-dumps-2\/\"><span class=\"screen-reader-text\">Using Your Core Dumps<\/span>Read more<\/a><\/p>\n","protected":false},"author":2,"featured_media":5806,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3],"tags":[2103,2216,1421,1846,1821,18],"class_list":["post-5818","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-information-technology","tag-core-dumps","tag-coredumpctl","tag-emacs","tag-gdb","tag-gnu-emacs","tag-ubuntu","bnm-entry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Using Your Core Dumps &#8211; Logikal Blog<\/title>\n<meta name=\"description\" content=\"So, you read the last post and now know where to find your core dumps, great. Now what? That always seems to be the question . . .\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.logikalsolutions.com\/wordpress\/information-technology\/core-dumps-2\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Using Your Core Dumps &#8211; Logikal Blog\" \/>\n<meta property=\"og:description\" content=\"So, you read the last post and now know where to find your core dumps, great. Now what? That always seems to be the question . . .\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.logikalsolutions.com\/wordpress\/information-technology\/core-dumps-2\/\" \/>\n<meta property=\"og:site_name\" content=\"Logikal Blog\" \/>\n<meta property=\"article:published_time\" content=\"2022-11-27T22:32:13+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-08-17T10:41:55+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2022\/11\/core-dump-1.png\" \/>\n\t<meta property=\"og:image:width\" content=\"329\" \/>\n\t<meta property=\"og:image:height\" content=\"51\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"seasoned_geek\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"seasoned_geek\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"9 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.logikalsolutions.com\\\/wordpress\\\/information-technology\\\/core-dumps-2\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.logikalsolutions.com\\\/wordpress\\\/information-technology\\\/core-dumps-2\\\/\"},\"author\":{\"name\":\"seasoned_geek\",\"@id\":\"https:\\\/\\\/www.logikalsolutions.com\\\/wordpress\\\/#\\\/schema\\\/person\\\/c077f770ade13de7faaf616c3eac6842\"},\"headline\":\"Using Your Core Dumps\",\"datePublished\":\"2022-11-27T22:32:13+00:00\",\"dateModified\":\"2024-08-17T10:41:55+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.logikalsolutions.com\\\/wordpress\\\/information-technology\\\/core-dumps-2\\\/\"},\"wordCount\":1309,\"commentCount\":1,\"publisher\":{\"@id\":\"https:\\\/\\\/www.logikalsolutions.com\\\/wordpress\\\/#\\\/schema\\\/person\\\/c077f770ade13de7faaf616c3eac6842\"},\"image\":{\"@id\":\"https:\\\/\\\/www.logikalsolutions.com\\\/wordpress\\\/information-technology\\\/core-dumps-2\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.logikalsolutions.com\\\/wordpress\\\/wp-content\\\/uploads\\\/2022\\\/11\\\/core-dump-1.png\",\"keywords\":[\"core dumps\",\"coredumpctl\",\"emacs\",\"GDB\",\"Gnu Emacs\",\"Ubuntu\"],\"articleSection\":[\"Information Technology\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.logikalsolutions.com\\\/wordpress\\\/information-technology\\\/core-dumps-2\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.logikalsolutions.com\\\/wordpress\\\/information-technology\\\/core-dumps-2\\\/\",\"url\":\"https:\\\/\\\/www.logikalsolutions.com\\\/wordpress\\\/information-technology\\\/core-dumps-2\\\/\",\"name\":\"Using Your Core Dumps &#8211; Logikal Blog\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.logikalsolutions.com\\\/wordpress\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.logikalsolutions.com\\\/wordpress\\\/information-technology\\\/core-dumps-2\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.logikalsolutions.com\\\/wordpress\\\/information-technology\\\/core-dumps-2\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.logikalsolutions.com\\\/wordpress\\\/wp-content\\\/uploads\\\/2022\\\/11\\\/core-dump-1.png\",\"datePublished\":\"2022-11-27T22:32:13+00:00\",\"dateModified\":\"2024-08-17T10:41:55+00:00\",\"description\":\"So, you read the last post and now know where to find your core dumps, great. Now what? That always seems to be the question . . .\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.logikalsolutions.com\\\/wordpress\\\/information-technology\\\/core-dumps-2\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.logikalsolutions.com\\\/wordpress\\\/information-technology\\\/core-dumps-2\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.logikalsolutions.com\\\/wordpress\\\/information-technology\\\/core-dumps-2\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.logikalsolutions.com\\\/wordpress\\\/wp-content\\\/uploads\\\/2022\\\/11\\\/core-dump-1.png\",\"contentUrl\":\"https:\\\/\\\/www.logikalsolutions.com\\\/wordpress\\\/wp-content\\\/uploads\\\/2022\\\/11\\\/core-dump-1.png\",\"width\":329,\"height\":51,\"caption\":\"core dump\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.logikalsolutions.com\\\/wordpress\\\/information-technology\\\/core-dumps-2\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.logikalsolutions.com\\\/wordpress\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Using Your Core Dumps\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.logikalsolutions.com\\\/wordpress\\\/#website\",\"url\":\"https:\\\/\\\/www.logikalsolutions.com\\\/wordpress\\\/\",\"name\":\"Logikal Blog\",\"description\":\"For people with attention spans longer than a Tweet\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.logikalsolutions.com\\\/wordpress\\\/#\\\/schema\\\/person\\\/c077f770ade13de7faaf616c3eac6842\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.logikalsolutions.com\\\/wordpress\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\\\/\\\/www.logikalsolutions.com\\\/wordpress\\\/#\\\/schema\\\/person\\\/c077f770ade13de7faaf616c3eac6842\",\"name\":\"seasoned_geek\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/ae9adac14079d84b909e635d7af986fe4568053af4fd9ff8d4109298c392493e?s=96&d=mm&r=r\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/ae9adac14079d84b909e635d7af986fe4568053af4fd9ff8d4109298c392493e?s=96&d=mm&r=r\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/ae9adac14079d84b909e635d7af986fe4568053af4fd9ff8d4109298c392493e?s=96&d=mm&r=r\",\"caption\":\"seasoned_geek\"},\"logo\":{\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/ae9adac14079d84b909e635d7af986fe4568053af4fd9ff8d4109298c392493e?s=96&d=mm&r=r\"},\"description\":\"Roland Hughes started his IT career in the early 1980s. He quickly became a consultant and president of Logikal Solutions, a software consulting firm specializing in OpenVMS application and C++\\\/Qt touchscreen\\\/embedded Linux development. Early in his career he became involved in what is now called cross platform development. Given the dearth of useful books on the subject he ventured into the world of professional author in 1995 writing the first of the \\\"Zinc It!\\\" book series for John Gordon Burke Publisher, Inc. A decade later he released a massive (nearly 800 pages) tome \\\"The Minimum You Need to Know to Be an OpenVMS Application Developer\\\" which tried to encapsulate the essential skills gained over what was nearly a 20 year career at that point. From there \\\"The Minimum You Need to Know\\\" book series was born. Three years later he wrote his first novel \\\"Infinite Exposure\\\" which got much notice from people involved in the banking and financial security worlds. Some of the attacks predicted in that book have since come to pass. While it was not originally intended to be a trilogy, it became the first book of \\\"The Earth That Was\\\" trilogy: Infinite Exposure Lesedi - The Greatest Lie Ever Told John Smith - Last Known Survivor of the Microsoft Wars When he is not consulting Roland Hughes posts about technology and sometimes politics on his blog. He also has regularly scheduled Sunday posts appearing on the Interesting Authors blog.\",\"sameAs\":[\"https:\\\/\\\/theminimumyouneedtoknow.com\"],\"url\":\"https:\\\/\\\/www.logikalsolutions.com\\\/wordpress\\\/author\\\/seasoned_geek\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Using Your Core Dumps &#8211; Logikal Blog","description":"So, you read the last post and now know where to find your core dumps, great. Now what? That always seems to be the question . . .","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.logikalsolutions.com\/wordpress\/information-technology\/core-dumps-2\/","og_locale":"en_US","og_type":"article","og_title":"Using Your Core Dumps &#8211; Logikal Blog","og_description":"So, you read the last post and now know where to find your core dumps, great. Now what? That always seems to be the question . . .","og_url":"https:\/\/www.logikalsolutions.com\/wordpress\/information-technology\/core-dumps-2\/","og_site_name":"Logikal Blog","article_published_time":"2022-11-27T22:32:13+00:00","article_modified_time":"2024-08-17T10:41:55+00:00","og_image":[{"width":329,"height":51,"url":"https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2022\/11\/core-dump-1.png","type":"image\/png"}],"author":"seasoned_geek","twitter_card":"summary_large_image","twitter_misc":{"Written by":"seasoned_geek","Est. reading time":"9 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.logikalsolutions.com\/wordpress\/information-technology\/core-dumps-2\/#article","isPartOf":{"@id":"https:\/\/www.logikalsolutions.com\/wordpress\/information-technology\/core-dumps-2\/"},"author":{"name":"seasoned_geek","@id":"https:\/\/www.logikalsolutions.com\/wordpress\/#\/schema\/person\/c077f770ade13de7faaf616c3eac6842"},"headline":"Using Your Core Dumps","datePublished":"2022-11-27T22:32:13+00:00","dateModified":"2024-08-17T10:41:55+00:00","mainEntityOfPage":{"@id":"https:\/\/www.logikalsolutions.com\/wordpress\/information-technology\/core-dumps-2\/"},"wordCount":1309,"commentCount":1,"publisher":{"@id":"https:\/\/www.logikalsolutions.com\/wordpress\/#\/schema\/person\/c077f770ade13de7faaf616c3eac6842"},"image":{"@id":"https:\/\/www.logikalsolutions.com\/wordpress\/information-technology\/core-dumps-2\/#primaryimage"},"thumbnailUrl":"https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2022\/11\/core-dump-1.png","keywords":["core dumps","coredumpctl","emacs","GDB","Gnu Emacs","Ubuntu"],"articleSection":["Information Technology"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.logikalsolutions.com\/wordpress\/information-technology\/core-dumps-2\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.logikalsolutions.com\/wordpress\/information-technology\/core-dumps-2\/","url":"https:\/\/www.logikalsolutions.com\/wordpress\/information-technology\/core-dumps-2\/","name":"Using Your Core Dumps &#8211; Logikal Blog","isPartOf":{"@id":"https:\/\/www.logikalsolutions.com\/wordpress\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.logikalsolutions.com\/wordpress\/information-technology\/core-dumps-2\/#primaryimage"},"image":{"@id":"https:\/\/www.logikalsolutions.com\/wordpress\/information-technology\/core-dumps-2\/#primaryimage"},"thumbnailUrl":"https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2022\/11\/core-dump-1.png","datePublished":"2022-11-27T22:32:13+00:00","dateModified":"2024-08-17T10:41:55+00:00","description":"So, you read the last post and now know where to find your core dumps, great. Now what? That always seems to be the question . . .","breadcrumb":{"@id":"https:\/\/www.logikalsolutions.com\/wordpress\/information-technology\/core-dumps-2\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.logikalsolutions.com\/wordpress\/information-technology\/core-dumps-2\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.logikalsolutions.com\/wordpress\/information-technology\/core-dumps-2\/#primaryimage","url":"https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2022\/11\/core-dump-1.png","contentUrl":"https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2022\/11\/core-dump-1.png","width":329,"height":51,"caption":"core dump"},{"@type":"BreadcrumbList","@id":"https:\/\/www.logikalsolutions.com\/wordpress\/information-technology\/core-dumps-2\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.logikalsolutions.com\/wordpress\/"},{"@type":"ListItem","position":2,"name":"Using Your Core Dumps"}]},{"@type":"WebSite","@id":"https:\/\/www.logikalsolutions.com\/wordpress\/#website","url":"https:\/\/www.logikalsolutions.com\/wordpress\/","name":"Logikal Blog","description":"For people with attention spans longer than a Tweet","publisher":{"@id":"https:\/\/www.logikalsolutions.com\/wordpress\/#\/schema\/person\/c077f770ade13de7faaf616c3eac6842"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.logikalsolutions.com\/wordpress\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":["Person","Organization"],"@id":"https:\/\/www.logikalsolutions.com\/wordpress\/#\/schema\/person\/c077f770ade13de7faaf616c3eac6842","name":"seasoned_geek","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/ae9adac14079d84b909e635d7af986fe4568053af4fd9ff8d4109298c392493e?s=96&d=mm&r=r","url":"https:\/\/secure.gravatar.com\/avatar\/ae9adac14079d84b909e635d7af986fe4568053af4fd9ff8d4109298c392493e?s=96&d=mm&r=r","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/ae9adac14079d84b909e635d7af986fe4568053af4fd9ff8d4109298c392493e?s=96&d=mm&r=r","caption":"seasoned_geek"},"logo":{"@id":"https:\/\/secure.gravatar.com\/avatar\/ae9adac14079d84b909e635d7af986fe4568053af4fd9ff8d4109298c392493e?s=96&d=mm&r=r"},"description":"Roland Hughes started his IT career in the early 1980s. He quickly became a consultant and president of Logikal Solutions, a software consulting firm specializing in OpenVMS application and C++\/Qt touchscreen\/embedded Linux development. Early in his career he became involved in what is now called cross platform development. Given the dearth of useful books on the subject he ventured into the world of professional author in 1995 writing the first of the \"Zinc It!\" book series for John Gordon Burke Publisher, Inc. A decade later he released a massive (nearly 800 pages) tome \"The Minimum You Need to Know to Be an OpenVMS Application Developer\" which tried to encapsulate the essential skills gained over what was nearly a 20 year career at that point. From there \"The Minimum You Need to Know\" book series was born. Three years later he wrote his first novel \"Infinite Exposure\" which got much notice from people involved in the banking and financial security worlds. Some of the attacks predicted in that book have since come to pass. While it was not originally intended to be a trilogy, it became the first book of \"The Earth That Was\" trilogy: Infinite Exposure Lesedi - The Greatest Lie Ever Told John Smith - Last Known Survivor of the Microsoft Wars When he is not consulting Roland Hughes posts about technology and sometimes politics on his blog. He also has regularly scheduled Sunday posts appearing on the Interesting Authors blog.","sameAs":["https:\/\/theminimumyouneedtoknow.com"],"url":"https:\/\/www.logikalsolutions.com\/wordpress\/author\/seasoned_geek\/"}]}},"_links":{"self":[{"href":"https:\/\/www.logikalsolutions.com\/wordpress\/wp-json\/wp\/v2\/posts\/5818","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.logikalsolutions.com\/wordpress\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.logikalsolutions.com\/wordpress\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.logikalsolutions.com\/wordpress\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.logikalsolutions.com\/wordpress\/wp-json\/wp\/v2\/comments?post=5818"}],"version-history":[{"count":0,"href":"https:\/\/www.logikalsolutions.com\/wordpress\/wp-json\/wp\/v2\/posts\/5818\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.logikalsolutions.com\/wordpress\/wp-json\/wp\/v2\/media\/5806"}],"wp:attachment":[{"href":"https:\/\/www.logikalsolutions.com\/wordpress\/wp-json\/wp\/v2\/media?parent=5818"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.logikalsolutions.com\/wordpress\/wp-json\/wp\/v2\/categories?post=5818"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.logikalsolutions.com\/wordpress\/wp-json\/wp\/v2\/tags?post=5818"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}