diff --git a/src/main.rs b/src/main.rs
index 79354139e66dd176a66bb5e891b4f6bb667d2b97..b370e4e6222d5b6e60b3543ada9d57018581d770 100644
--- a/src/main.rs
+++ b/src/main.rs
@@ -82,9 +82,12 @@ fn list_entries<R: Reader>(
                 .transpose()?
                 .ok_or_else(|| anyhow!("Missing DW_AT_comp_dir"))?;
 
-            let at_name = entry
-                .attr(gimli::DW_AT_name)?
-                .ok_or_else(|| anyhow!("Missing DW_AT_name"))?;
+            let at_name = if let Some(it) = entry.attr(gimli::DW_AT_name)? {
+                it
+            } else {
+                eprintln!("Warning: unit without name, skipping it");
+                continue;
+            };
 
             if let Some(r) = at_name.string_value(debug_str) {
                 let comp_name = r.to_string()?;